*** The Trump Treatment: A natural experiment in German public perception of the US  
*** Field Time: 24. February 2025 16:30 - 02. March 2025 23:45

* version 16. March 2025
* R1 version 24. June 2025
clear all


*************************************************************************************************************************************************	
*																																				*
*					Packages																													*
*																																				*
*************************************************************************************************************************************************

*ssc install tabcount, replace
*ssc install asdoc, replace
*ssc install mplotoffset
*ssc install _gwmean, replace
*ssc install estout, replace
*ssc install palettes, replace
*ssc install colrspace, replace

cd "YOURPATH\Trump Treatment Replication"

* read data
use "data\PPD_February_2025.dta", replace

set scheme plotplainblind


*************************************************************************************************************************************************	
*																																				*
*					Test weights																												*
*																																				*
*************************************************************************************************************************************************

* Zum Test welche Gewichtung besser läuft wird das Zweitstimmenergebnis verwendet
	* Vergleich: ungewichtet
	tab zweitstimme
	* 1) Raking Geschlecht + Bundesland +  Zweitstimme + Bildung
	tab zweitstimme [aweight = gewicht1]
	* 2) Raking Alter + Geschlecht + Bundesland +  Zweitstimme  
	tab zweitstimme [aweight = gewicht2]	
	* 3) Raking Alter + Geschlecht + Bundesland + Bildung
	tab zweitstimme [aweight = gewicht3]	
	* 4) Raking Alter + Geschlecht + Bundesland 
	tab zweitstimme [aweight = gewicht4]	
	* 5) Raking Geschlecht + Bundesland + Bildung
	tab zweitstimme [aweight = gewicht5]	
	* 6) Raking Geschlecht + Bundesland + Zweitstimme
	tab zweitstimme [aweight = gewicht6]
	* 7) Raking Geschlecht + Bundesland + Alter + Bildung + Zweitstimme
	tab zweitstimme [aweight = gewicht7]
	
	hist gewicht1
	hist gewicht2
	hist gewicht3
	hist gewicht4
	hist gewicht5
	hist gewicht6
	hist gewicht7
	
	** --> gewicht2 scheint am sinnvollsten zu sein (da ist auch die Verteilung der Gewichte nicht so extrem)

*************************************************************************************************************************************************	
*																																				*
*					Recode und Label data 																										*
*																																				*
*************************************************************************************************************************************************	
	
	* Ostdeutschland-Dummy inkl. Berlin
	gen ostdeutschland =.
	replace ostdeutschland = 1 if v_19 == 3
	replace ostdeutschland = 1 if v_19 == 4
	replace ostdeutschland = 1 if v_19 == 8
	replace ostdeutschland = 1 if v_19 == 13	
	replace ostdeutschland = 1 if v_19 == 14
	replace ostdeutschland = 1 if v_19 == 16

	replace ostdeutschland = 0 if v_19 == 1
	replace ostdeutschland = 0 if v_19 == 2
	replace ostdeutschland = 0 if v_19 == 5
	replace ostdeutschland = 0 if v_19 == 6
	replace ostdeutschland = 0 if v_19 == 7
	replace ostdeutschland = 0 if v_19 == 9
	replace ostdeutschland = 0 if v_19 == 10
	replace ostdeutschland = 0 if v_19 == 11
	replace ostdeutschland = 0 if v_19 == 12
	replace ostdeutschland = 0 if v_19 == 15
	
	label define ostdeutschland 1 "Ost" 0 "West" 
	label value ostdeutschland ostdeutschland
	
	* Male_2
	label define male_2 1 "Male" 2 "Female"
	label value male_2 male_2
	
	gen bef_1_day = 0
	replace bef_1_day = 1 if startzeitpunkt > tc(27feb202520:00:00) & startzeitpunkt < tc(28feb202520:00:00)

	gen bef_2_day = 0
	replace bef_2_day = 1 if startzeitpunkt > tc(26feb202520:00:00) & startzeitpunkt < tc(28feb202520:00:00)	

	gen bef_3_day = 0
	replace bef_3_day = 1 if startzeitpunkt > tc(25feb202520:00:00) & startzeitpunkt < tc(28feb202520:00:00)	
	
	gen aft_1_day = 0
	replace aft_1_day = 1 if startzeitpunkt > tc(28feb202520:00:00) & startzeitpunkt < tc(01mar202520:00:00)	

	gen aft_2_day = 0
	replace aft_2_day = 1 if startzeitpunkt > tc(28feb202520:00:00) & startzeitpunkt < tc(02mar202520:00:00)

	gen one_day = 0
	replace one_day = 1 if bef_1_day == 1 | aft_1_day == 1

	gen two_days = 0
	replace two_days = 1 if bef_2_day == 1 | aft_2_day == 1
	
	gen day = .
	replace day = 1 if 												startzeitpunkt < tc(24feb202523:59:59)
	replace day = 2 if startzeitpunkt > tc(24feb202523:59:59) & 	startzeitpunkt < tc(25feb202523:59:59)
	replace day = 3 if startzeitpunkt > tc(25feb202523:59:59) & 	startzeitpunkt < tc(26feb202523:59:59)
	replace day = 4 if startzeitpunkt > tc(26feb202523:59:59) & 	startzeitpunkt < tc(27feb202523:59:59)	
	replace day = 5 if startzeitpunkt > tc(27feb202523:59:59) & 	startzeitpunkt < tc(28feb202523:59:59)
	replace day = 6 if startzeitpunkt > tc(28feb202523:59:59) & 	startzeitpunkt < tc(01mar202523:59:59)
	replace day = 7 if startzeitpunkt > tc(01mar202523:59:59) & 	startzeitpunkt < tc(03mar202500:10:00)
	
	gen day2 = .
	replace day2 = 1 if 											startzeitpunkt < tc(24feb202523:59:59)
	replace day2 = 2 if startzeitpunkt > tc(24feb202523:59:59) & 	startzeitpunkt < tc(25feb202523:59:59)
	replace day2 = 3 if startzeitpunkt > tc(25feb202523:59:59) & 	startzeitpunkt < tc(26feb202523:59:59)
	replace day2 = 4 if startzeitpunkt > tc(26feb202523:59:59) & 	startzeitpunkt < tc(27feb202523:59:59)	
	replace day2 = 5 if startzeitpunkt > tc(27feb202523:59:59) & 	startzeitpunkt < tc(28feb202519:59:59)

	label define day2 	///
			1 "24 Feb. 24" ///
			2 "25 Feb. 24" ///	
			3 "26 Feb. 24" ///
			4 "27 Feb. 24" ///
			5 "28 Feb. (before 14:00 EST)" , replace
	label value day2 day2		
	
	* categorical variable 24/48/72/96 hours before end of meeting
	gen hours = . 
	replace hours = 1 if 											startzeitpunkt < tc(24feb202520:00:00)
	replace hours = 2 if startzeitpunkt >= tc(24feb202520:00:00) &	startzeitpunkt < tc(25feb202520:00:00)	
	replace hours = 3 if startzeitpunkt >= tc(25feb202520:00:00) &	startzeitpunkt < tc(26feb202520:00:00)	
	replace hours = 4 if startzeitpunkt >= tc(26feb202520:00:00) &	startzeitpunkt < tc(27feb202520:00:00)	
	replace hours = 5 if startzeitpunkt >= tc(27feb202520:00:00) &	startzeitpunkt < tc(28feb202520:00:00)		
	replace hours = 6 if startzeitpunkt >= tc(28feb202520:00:00) &	startzeitpunkt < tc(01mar202520:00:00)	
	replace hours = 7 if startzeitpunkt >= tc(01mar202520:00:00) &	startzeitpunkt < tc(03mar202500:10:00)
	
	label define hours ///
	1 "-101h to -96h" ///
	2 "-96h to -72h" ///
	3 "-72h to -48h" ///
	4 "-48h to -24h" ///
	5 "-24h to meeting" ///
	6 "meeting to +24h" ///
	7 "+24 to +50h" , replace
	label value hours hours

			
			
	* Trump Zelenskyy Meeting February 28, 2025 - 11:20-13:42 EST, d.h. February 28, 2025 ab 20:00 Uhr
	gen after_meeting = 0
	replace after_meeting = 1 if startzeitpunkt > tc(28feb202520:00:00)
	label define after_meeting  ///
				0 "before Trump–Zelenskyy Oval Office Meeting"		///
				1 "after Trump–Zelenskyy Oval Office Meeting"
	label value after_meeting after_meeting
	label variable after_meeting "After Trump-Zelenskyy Oval Office Meeting"
	
	label define zweitstimme 		///
				1 "CDU/CSU" 		///
				2 "SPD"				///
				3 "Greens"			///
				4 "FDP"				///
				5 "Left Party"		///
				6 "AfD"				///
				7 "BSW"				///
				8 "Other parties" 	, replace
	label value zweitstimme zweitstimme
	
	gen gender = v_370
	label define gender				///
				1 "Male"			///
				2 "Female"			///
				3 "Non-binary"
	label value gender gender
	
	label define ostdeutschland		///
				0 "West"			///
				1 "East (incl. Berlin)", replace
	label value ostdeutschland ostdeutschland
	label variable ostdeutschland "East Germany (incl. Berlin)"
	
	replace edu = 1 if edu == 0
	
	label define agree_scale							///
				1 "- -"				///
				2 "-"					///
				3 "-/+"		///
				4 "+"						///
				5 "++"
	label value v_1842 agree_scale
	label value v_1839 agree_scale
	label value v_1841 agree_scale
	label value v_1457 agree_scale
	label value v_1461 agree_scale

label define agree_scale2							///
				1 "I do not agree at all"				///
				2 "I rather disagree"					///
				3 "I partly agree, partly disagree"		///
				4 "I rather agree"						///
				5 "I fully agree"	
	
	label define working_together						///
				1 "- -"							///
				2 "-"						///
				3 "-/+"				///
				4 "+"					///
				5 "++"
	label value v_1450 working_together
	label value v_1451 working_together
	label value v_1452 working_together

	label define working_together2						///
				1 "Not at all"							///
				2 "Less closely"						///
				3 "Just as it is currently"				///
				4 "A bit more closely"					///
				5 "Much more closely"	

	gen v_1450_label = v_1450			
	gen v_1451_label = v_1451
	gen v_1452_label = v_1452

	label value v_1450_label working_together2
	label value v_1451_label working_together2
	label value v_1452_label working_together2
	
	label variable v_1836 "The USA is to blame for the fact that we have so many world conflicts"
	label variable v_1838 "Differences between rich and poor are more pronounced in the USA than in Germany"
	label variable v_1839 "The USA is still a role model for Germany"
	label variable v_1841 "No other country is such a strong advocate of democracy and defender of freedom and human rights as the USA"
	label variable v_1842 "Germany can rely on the USA when it matters"
	label variable v_1830 "EU membership brings more advantages than disadvantages for Germany"
	label variable v_1832 "Germany has become too reliant on other countries"
	label variable v_1461 "Germany should advocate a common European army"
	label variable v_1457 "Germany should break away from traditional allies and look for new ones"
	label variable v_1492 "Germany should declare its willingness to provide soldiers for a peacekeeping force in Ukraine"
	label variable v_1450 "Work together with USA"
	label variable v_1451 "Work together with Russia"
	label variable v_1452 "Work together with EU countries"
	label variable v_1450_label "Work together with USA"
	label variable v_1451_label "Work together with Russia"
	label variable v_1452_label "Work together with EU countries"
	
	
save "dump\PPD_February_2025_Trump.dta", replace	
	
	

	
	
	
	
	
	
	
*******************************************************************************************************************************************************************
*
*				Figure 1: Average item scores by partisan group (without Other parties)
*
*******************************************************************************************************************************************************************	
	
* September 2023	
	use "data\PPD_September_2023.dta", replace
	* generate dataset with means
	
	collapse 	(mean)	v_1836 v_1838 v_1839 v_1841 v_1842 v_1832 v_1830 	///
				(sd)	sd_v_1836 = v_1836 								///
						sd_v_1838 = v_1838 								///
						sd_v_1839 = v_1839 								///
						sd_v_1841 = v_1841 								///
						sd_v_1842 = v_1842 								///
						sd_v_1832 = v_1832 								///
						sd_v_1830 = v_1830 								///
			(count)    n_v_1836 = v_1836 								///
						n_v_1838 = v_1838 								///
						n_v_1839 = v_1839 								///
						n_v_1841 = v_1841 								///
						n_v_1842 = v_1842 								///
						n_v_1832 = v_1832 								///
						n_v_1830 = v_1830 								///
						[aweight=gewicht2]
	
	gen wave = 1
	gen zweitstimme = 0
	save "dump\trump_1a0.dta", replace	
	
	
	use "data\PPD_September_2023.dta", replace
	* generate dataset with means
	
	
	collapse 	(mean)	v_1836 v_1838 v_1839 v_1841 v_1842 v_1832 v_1830 	///
				(sd)	sd_v_1836 = v_1836 								///
						sd_v_1838 = v_1838 								///
						sd_v_1839 = v_1839 								///
						sd_v_1841 = v_1841 								///
						sd_v_1842 = v_1842 								///
						sd_v_1832 = v_1832 								///
						sd_v_1830 = v_1830 								///
			(count)    n_v_1836 = v_1836 								///
						n_v_1838 = v_1838 								///
						n_v_1839 = v_1839 								///
						n_v_1841 = v_1841 								///
						n_v_1842 = v_1842 								///
						n_v_1832 = v_1832 								///
						n_v_1830 = v_1830 								///
						[aweight=gewicht2], by(sonntagsfrage) 

	gen wave = 1
	gen zweitstimme = sonntagsfrage
	replace zweitstimme = 8 if zweitstimme == 7
	label define zweitstimme 0 "overall" 1 "CDU/CSU" 2 "SPD" 3 "Grüne" 4 "FDP" 5 "Linke" 6 "AfD" 7 "BSW" 8 "Sonstige", modify
	label value zweitstimme zweitstimme
	sort zweitstimme
	save "dump\trump_1a1.dta", replace	
	
	
	append using "dump\trump_1a0.dta"
	save "dump\trump_1a.dta", replace	
	
* Februar 2025 - before meeting	
	use "dump\PPD_February_2025_Trump.dta", replace	
	* generate dataset with means
	collapse 	v_1836 v_1838 v_1839 v_1841 v_1842 v_1832 v_1830 ///
				(sd)	sd_v_1836 = v_1836 								///
						sd_v_1838 = v_1838 								///
						sd_v_1839 = v_1839 								///
						sd_v_1841 = v_1841 								///
						sd_v_1842 = v_1842 								///
						sd_v_1832 = v_1832 								///
						sd_v_1830 = v_1830 								///
				(count)	n_v_1836 = v_1836 								///
						n_v_1838 = v_1838 								///
						n_v_1839 = v_1839 								///
						n_v_1841 = v_1841 								///
						n_v_1842 = v_1842 								///
						n_v_1832 = v_1832 								///
						n_v_1830 = v_1830 								///
						[aweight=gewicht2] if after_meeting == 0,  
	
	gen wave = 2
	gen zweitstimme = 0
	save "dump\trump_2a0.dta", replace	
	
	
	use "dump\PPD_February_2025_Trump.dta", replace	
	* generate dataset with means
	collapse 	v_1836 v_1838 v_1839 v_1841 v_1842 v_1832 v_1830 ///
				(sd)	sd_v_1836 = v_1836 								///
						sd_v_1838 = v_1838 								///
						sd_v_1839 = v_1839 								///
						sd_v_1841 = v_1841 								///
						sd_v_1842 = v_1842 								///
						sd_v_1832 = v_1832 								///
						sd_v_1830 = v_1830 								///
				(count)	n_v_1836 = v_1836 								///
						n_v_1838 = v_1838 								///
						n_v_1839 = v_1839 								///
						n_v_1841 = v_1841 								///
						n_v_1842 = v_1842 								///
						n_v_1832 = v_1832 								///
						n_v_1830 = v_1830 								///
						[aweight=gewicht2] if after_meeting == 0, by(zweitstimme) 
	
	gen wave = 2
	
	sort zweitstimme
	save "dump\trump_2a1.dta", replace	
	
	append using "dump\trump_2a0.dta"
	save "dump\trump_2a.dta", replace
	
* Februar 2025 - before meeting	
	use "dump\PPD_February_2025_Trump.dta", replace	
	* generate dataset with means
	collapse 	v_1836 v_1838 v_1839 v_1841 v_1842 v_1832 v_1830 ///
				(sd)	sd_v_1836 = v_1836 								///
						sd_v_1838 = v_1838 								///
						sd_v_1839 = v_1839 								///
						sd_v_1841 = v_1841 								///
						sd_v_1842 = v_1842 								///
						sd_v_1832 = v_1832 								///
						sd_v_1830 = v_1830 								///
				(count)	n_v_1836 = v_1836 								///
						n_v_1838 = v_1838 								///
						n_v_1839 = v_1839 								///
						n_v_1841 = v_1841 								///
						n_v_1842 = v_1842 								///
						n_v_1832 = v_1832 								///
						n_v_1830 = v_1830 								///
						[aweight=gewicht2] if after_meeting == 1,  
	
	gen wave = 3
	gen zweitstimme = 0
	save "dump\trump_3a0.dta", replace	


	use "dump\PPD_February_2025_Trump.dta", replace	
	* generate dataset with means
	collapse 	v_1836 v_1838 v_1839 v_1841 v_1842 v_1832 v_1830 ///
				(sd)	sd_v_1836 = v_1836 								///
						sd_v_1838 = v_1838 								///
						sd_v_1839 = v_1839 								///
						sd_v_1841 = v_1841 								///
						sd_v_1842 = v_1842 								///
						sd_v_1832 = v_1832 								///
						sd_v_1830 = v_1830 								///
				(count)	n_v_1836 = v_1836 								///
						n_v_1838 = v_1838 								///
						n_v_1839 = v_1839 								///
						n_v_1841 = v_1841 								///
						n_v_1842 = v_1842 								///
						n_v_1832 = v_1832 								///
						n_v_1830 = v_1830 								///
						[aweight=gewicht2] if after_meeting == 1, by(zweitstimme) 
	
	gen wave = 3
	
	sort zweitstimme
	save "dump\trump_3a1.dta", replace	
	
	append using "dump\trump_3a0.dta"
	save "dump\trump_3a.dta", replace
	
	
	append  using 	"dump\trump_1a.dta" ///
					"dump\trump_2a.dta" 
	drop sonntagsfrage 
	sort wave
	
	generate hi_v_1836 = v_1836 + invttail(n_v_1836 - 1,0.025)*(sd_v_1836 / sqrt(n_v_1836))
	generate low_v_1836 = v_1836 - invttail(n_v_1836 - 1,0.025)*(sd_v_1836 / sqrt(n_v_1836))
	generate hi_v_1838 = v_1838 + invttail(n_v_1838 - 1,0.025)*(sd_v_1838 / sqrt(n_v_1838))
	generate low_v_1838 = v_1838 - invttail(n_v_1838 - 1,0.025)*(sd_v_1838 / sqrt(n_v_1838))	
	generate hi_v_1839 = v_1839 + invttail(n_v_1839 - 1,0.025)*(sd_v_1839 / sqrt(n_v_1839))
	generate low_v_1839 = v_1839 - invttail(n_v_1839 - 1,0.025)*(sd_v_1839 / sqrt(n_v_1839))
	generate hi_v_1841 = v_1841 + invttail(n_v_1841 - 1,0.025)*(sd_v_1841 / sqrt(n_v_1841))
	generate low_v_1841 = v_1841 - invttail(n_v_1841 - 1,0.025)*(sd_v_1841 / sqrt(n_v_1841))	
	generate hi_v_1842 = v_1842 + invttail(n_v_1842 - 1,0.025)*(sd_v_1842 / sqrt(n_v_1842))
	generate low_v_1842 = v_1842 - invttail(n_v_1842 - 1,0.025)*(sd_v_1842 / sqrt(n_v_1842))	
	generate hi_v_1832 = v_1832 + invttail(n_v_1832 - 1,0.025)*(sd_v_1832 / sqrt(n_v_1832))
	generate low_v_1832 = v_1832 - invttail(n_v_1832 - 1,0.025)*(sd_v_1832 / sqrt(n_v_1832))	
	generate hi_v_1830 = v_1830 + invttail(n_v_1830 - 1,0.025)*(sd_v_1830 / sqrt(n_v_1830))
	generate low_v_1830 = v_1830 - invttail(n_v_1830 - 1,0.025)*(sd_v_1830 / sqrt(n_v_1830))
	
	generate zweitstimmewave = wave    if zweitstimme == 0
	replace  zweitstimmewave = wave+5  if zweitstimme == 1
	replace  zweitstimmewave = wave+10  if zweitstimme == 2
	replace  zweitstimmewave = wave+15  if zweitstimme == 3
	replace  zweitstimmewave = wave+20  if zweitstimme == 4
	replace  zweitstimmewave = wave+25  if zweitstimme == 5
	replace  zweitstimmewave = wave+30  if zweitstimme == 6
	replace  zweitstimmewave = wave+35  if zweitstimme == 7
	replace  zweitstimmewave = wave+40  if zweitstimme == 8

sort zweitstimmewave
list zweitstimmewave zweitstimme wave, sepby(zweitstimme)	
	
	twoway (bar v_1836 zweitstimmewave if wave==1 & zweitstimme !=8, bcolor(gs1)) ///
		   (bar v_1836 zweitstimmewave if wave==2 & zweitstimme !=8, bcolor(538t)) ///
		   (bar v_1836 zweitstimmewave if wave==3 & zweitstimme !=8, bcolor(538o)) ///
		   (rcap hi_v_1836 low_v_1836 zweitstimmewave if zweitstimme !=8, lcolor(gs10)), ///
		   legend( pos(6) rows(1) order(1 "September 2023" 2 "February 2025 - before meeting" 3 "February 2025 - after meeting" ) )	///
		   xlabel( 2.5 "Overall" 7.5 "CDU" 12.5 "SPD" 17.5 "Greens" 22.5 "FDP" 27.5 "Left Party" 32.5 "AfD" 37.5 "BSW", noticks) ///
		   xline(4.5) ///
		   ylabel( 1 "- -" 2 "-" 3 "+/-" 4 "+" 5 "++", labsize(mlarge)) ///
		   xtitle("") ytitle("") ///
		   subtitle("The USA is to blame for the fact" "that we have so many world conflicts") 
	graph save "dump\fig_means_2a.gph", replace

	twoway (bar v_1838 zweitstimmewave if wave==1 & zweitstimme !=8, bcolor(gs1)) ///
		   (bar v_1838 zweitstimmewave if wave==2 & zweitstimme !=8, bcolor(538t)) ///
		   (bar v_1838 zweitstimmewave if wave==3 & zweitstimme !=8, bcolor(538o)) ///
		   (rcap hi_v_1838 low_v_1838 zweitstimmewave if zweitstimme !=8, lcolor(gs10)), ///
		   legend( pos(6) rows(1) order(1 "September 2023" 2 "February 2025 - before meeting" 3 "February 2025 - after meeting" ) )	///
		   xlabel( 2.5 "Overall" 7.5 "CDU" 12.5 "SPD" 17.5 "Greens" 22.5 "FDP" 27.5 "Left Party" 32.5 "AfD" 37.5 "BSW", noticks) ///
		   xline(4.5) ///
		   ylabel( 1 "- -" 2 "-" 3 "+/-" 4 "+" 5 "++", labsize(mlarge)) ///
		   xtitle("") ytitle("") ///
		   subtitle("Differences between rich and poor are more" "pronounced in the USA than in Germany")
	graph save "dump\fig_means_2b.gph", replace																					
	
	twoway (bar v_1839 zweitstimmewave if wave==1 & zweitstimme !=8, bcolor(gs1)) ///
		   (bar v_1839 zweitstimmewave if wave==2 & zweitstimme !=8, bcolor(538t)) ///
		   (bar v_1839 zweitstimmewave if wave==3 & zweitstimme !=8, bcolor(538o)) ///
		   (rcap hi_v_1839 low_v_1839 zweitstimmewave if zweitstimme !=8, lcolor(gs10)), ///
		   legend( pos(6) rows(1) order(1 "September 2023" 2 "February 2025 - before meeting" 3 "February 2025 - after meeting" ) )	///
		   xlabel( 2.5 "Overall" 7.5 "CDU" 12.5 "SPD" 17.5 "Greens" 22.5 "FDP" 27.5 "Left Party" 32.5 "AfD" 37.5 "BSW", noticks) ///
		   xline(4.5) ///
		   ylabel( 1 "- -" 2 "-" 3 "+/-" 4 "+" 5 "++", labsize(mlarge)) ///
		   xtitle("") ytitle("") ///
		   subtitle("The USA is still a role model" "for Germany") 
	graph save "dump\fig_means_2c.gph", replace
	
	twoway (bar v_1841 zweitstimmewave if wave==1 & zweitstimme !=8, bcolor(gs1)) ///
		   (bar v_1841 zweitstimmewave if wave==2 & zweitstimme !=8, bcolor(538t)) ///
		   (bar v_1841 zweitstimmewave if wave==3 & zweitstimme !=8, bcolor(538o)) ///
		   (rcap hi_v_1841 low_v_1841 zweitstimmewave if zweitstimme !=8, lcolor(gs10)), ///
		   legend( pos(6) rows(1) order(1 "September 2023" 2 "February 2025 - before meeting" 3 "February 2025 - after meeting" ) )	///
		   xlabel( 2.5 "Overall" 7.5 "CDU" 12.5 "SPD" 17.5 "Greens" 22.5 "FDP" 27.5 "Left Party" 32.5 "AfD" 37.5 "BSW", noticks) ///
		   xline(4.5) ///
		   ylabel( 1 "- -" 2 "-" 3 "+/-" 4 "+" 5 "++", labsize(mlarge)) ///
		   xtitle("") ytitle("") ///
		   subtitle("No other country is such a strong advocate of democracy" "and defender of freedom and human rights as the USA")
	graph save "dump\fig_means_2d.gph", replace	
	
	twoway (bar v_1842 zweitstimmewave if wave==1 & zweitstimme !=8, bcolor(gs1)) ///
		   (bar v_1842 zweitstimmewave if wave==2 & zweitstimme !=8, bcolor(538t)) ///
		   (bar v_1842 zweitstimmewave if wave==3 & zweitstimme !=8, bcolor(538o)) ///
		   (rcap hi_v_1842 low_v_1842 zweitstimmewave if zweitstimme !=8, lcolor(gs10)), ///
		   legend( pos(6) rows(1) order(1 "September 2023" 2 "February 2025 - before meeting" 3 "February 2025 - after meeting" ) )	///
		   xlabel( 2.5 "Overall" 7.5 "CDU" 12.5 "SPD" 17.5 "Greens" 22.5 "FDP" 27.5 "Left Party" 32.5 "AfD" 37.5 "BSW", noticks) ///
		   xline(4.5) ///
		   ylabel( 1 "- -" 2 "-" 3 "+/-" 4 "+" 5 "++", labsize(mlarge)) ///
		   xtitle("") ytitle("") ///
		   subtitle("Germany can rely on the USA" "when it matters") 
	graph save "dump\fig_means_2e.gph", replace	
	
	twoway (bar v_1830 zweitstimmewave if wave==1 & zweitstimme !=8, bcolor(gs1)) ///
		   (bar v_1830 zweitstimmewave if wave==2 & zweitstimme !=8, bcolor(538t)) ///
		   (bar v_1830 zweitstimmewave if wave==3 & zweitstimme !=8, bcolor(538o)) ///
		   (rcap hi_v_1830 low_v_1830 zweitstimmewave if zweitstimme !=8, lcolor(gs10)), ///
		   legend( pos(6) rows(1) order(1 "September 2023" 2 "February 2025 - before meeting" 3 "February 2025 - after meeting" ) )	///
		   xlabel( 2.5 "Overall" 7.5 "CDU" 12.5 "SPD" 17.5 "Greens" 22.5 "FDP" 27.5 "Left Party" 32.5 "AfD" 37.5 "BSW", noticks) ///
		   xline(4.5) ///
		   ylabel( 1 "- -" 2 "-" 3 "+/-" 4 "+" 5 "++", labsize(mlarge)) ///
		   xtitle("") ytitle("") ///
		   subtitle("EU membership brings more advantages" "than disadvantages for Germany")	
	graph save "dump\fig_means_2f.gph", replace	
	
	twoway (bar v_1832 zweitstimmewave if wave==1 & zweitstimme !=8, bcolor(gs1)) ///
		   (bar v_1832 zweitstimmewave if wave==2 & zweitstimme !=8, bcolor(538t)) ///
		   (bar v_1832 zweitstimmewave if wave==3 & zweitstimme !=8, bcolor(538o)) ///
		   (rcap hi_v_1832 low_v_1832 zweitstimmewave if zweitstimme !=8, lcolor(gs10)), ///
		   legend( pos(6) rows(1) order(1 "September 2023" 2 "February 2025 - before meeting" 3 "February 2025 - after meeting" ) )	///
		   xlabel( 2.5 "Overall" 7.5 "CDU" 12.5 "SPD" 17.5 "Greens" 22.5 "FDP" 27.5 "Left Party" 32.5 "AfD" 37.5 "BSW", noticks) ///
		   xline(4.5) ///
		   ylabel( 1 "- -" 2 "-" 3 "+/-" 4 "+" 5 "++", labsize(mlarge)) ///
		   xtitle("") ytitle("") ///
		   subtitle("Germany has become too reliant" "on other countries")
	graph save "dump\fig_means_2g.gph", replace	

	
	grc1leg 	 	"dump\fig_means_2d.gph" ///
					"dump\fig_means_2e.gph" ///
					"dump\fig_means_2g.gph" ///
					"dump\fig_means_2a.gph" ///
					"dump\fig_means_2b.gph" ///
					"dump\fig_means_2c.gph", ///
					ycommon col(3)  scale(.7)
	graph display , ysize(8) xsize(10)
	graph export "figures\fig_01.emf", replace		
	graph export "figures\fig_01.pdf", replace		



					
				
				
				
				
*******************************************************************************************************************************************************************
*
*				Figure 2: Predictions based on OLS (one single model with interactions after_meeting * zweitstimme) v_1842, v_1457, v_1461, v_1492
*
*******************************************************************************************************************************************************************	
	
	use  "dump\PPD_February_2025_Trump.dta", replace				
	reg v_1842 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] 
	estimates store ols_v_1842
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("Germany can rely on the USA when it matters" " ") ) recast(connected) ///
	yscale(r(1 5))  ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1842_ols.gph", replace
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1457 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	estimates store ols_v_1457
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("Germany should break away from traditional" "allies and look for new ones") ) recast(connected) ///
	yscale(r(1 5))  ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge))  ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1457_ols.gph", replace
		
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1461 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	estimates store ols_v_1461
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("Germany should advocate a common European army" " ") ) recast(connected) ///
	yscale(r(1 5))  ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1461_ols.gph", replace

	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1492 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] 
	estimates store ols_v_1492
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("Germany should declare its willingness to provide" "soldiers for a peacekeeping force in Ukraine") ) recast(connected) ///
	yscale(r(1 5))  ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1492_ols.gph", replace	
	
grc1leg 	 		"dump\fig_predprob_v_1842_ols.gph" ///
					"dump\fig_predprob_v_1457_ols.gph" ///
					"dump\fig_predprob_v_1461_ols.gph" ///
					"dump\fig_predprob_v_1492_ols.gph", ///
					ycommon xcommon col(2)  scale(.8) 	  imargin(0) 
	graph display , ysize(8) xsize(8) 	
	
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].AddTextBox added_text editor 2.146724340073197 .5770070649246903
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text_new = 1
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text_rec = 1
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].text = {}
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].text.Arrpush ***
// editor text[1] edits

	gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].AddTextBox added_text editor 2.010948482618626 .7413992930522334
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text_new = 1
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text_rec = 1
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text[1].text = {}
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text[1].text.Arrpush **
// editor text[1] edits

	gr_edit .plotregion1.graph1.plotregion1.plotregion1[3].AddTextBox added_text editor 1.885616921891334 .5158148459772006
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[3].added_text_new = 1
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[3].added_text_rec = 1
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[3].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[3].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[3].added_text[1].text = {}
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[3].added_text[1].text.Arrpush ***
// editor text[1] edits

	gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].AddTextBox added_text editor 1.969171295709529 .6859129144841395
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text_new = 1
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text_rec = 1
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text[1].text = {}
	gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text[1].text.Arrpush *
// editor text[1] edits

	gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text[1].DragBy 0 .0974941688006352
// editor text[1] reposition

	gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].AddTextBox added_text editor 2.919602297891501 .5238727429283404
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text_new = 1
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text_rec = 1
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text[1].text = {}
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text[1].text.Arrpush ***
// editor text[1] edits

	gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].AddTextBox added_text editor 2.909158001164227 .6882649710558681
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text_new = 1
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text_rec = 1
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text[1].text = {}
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text[1].text.Arrpush **
// editor text[1] edits

	gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].AddTextBox added_text editor 2.877825110982401 .8096159551624783
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text_new = 1
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text_rec = 1
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text[1].text = {}
	gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text[1].text.Arrpush *
// editor text[1] edits

	gr_edit .plotregion1.graph3.plotregion1.plotregion1[2].AddTextBox added_text editor 4.549852574051759 .8876405462532008
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[2].added_text_new = 1
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[2].added_text_rec = 1
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[2].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[2].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[2].added_text[1].text = {}
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[2].added_text[1].text.Arrpush *
// editor text[1] edits

	gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].AddTextBox added_text editor 2.429660338415057 .6677619395575713
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text_new = 1
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text_rec = 1
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text[1].text = {}
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text[1].text.Arrpush **
// editor text[1] edits

	gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].AddTextBox added_text editor 3.641803419398538 .5420237178549083
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text_new = 1
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text_rec = 1
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].text = {}
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].text.Arrpush ***
// editor text[1] edits

	gr_edit .plotregion1.graph4.plotregion1.plotregion1[5].AddTextBox added_text editor 3.347229027601492 .6939708114352939
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[5].added_text_new = 1
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[5].added_text_rec = 1
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[5].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[5].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[5].added_text[1].text = {}
	gr_edit .plotregion1.graph4.plotregion1.plotregion1[5].added_text[1].text.Arrpush **
// editor text[1] edits


	gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].AddTextBox added_text editor 4.132080704960788 .8207424869263001
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text_new = 1
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text_rec = 1
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text[1].style.editstyle size(medlarge) editcopy
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text[1].text = {}
	gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text[1].text.Arrpush *
// editor text[1] edits
	
	graph export "figures\fig_02.emf", replace
	graph export "figures\fig_02.pdf", replace
	


	
	

*******************************************************************************************************************************************************************
*
*				Figure 3: Predictions based on OLS (one single model with interactions after_meeting * zweitstimme) v_1450, v_1451, v_1452
*
*******************************************************************************************************************************************************************		
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1450 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	estimates store ols_v_1450
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("Cooperation with" "USA") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1450_ols.gph", replace

	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1451 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	estimates store ols_v_1451
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("Cooperation with" "Russia") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge))  ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1451_ols.gph", replace
		
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1452 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]
	estimates store ols_v_1452
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("Cooperation with" "EU-countries") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1452_ols.gph", replace
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1830 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]
	estimates store ols_v_1830
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("EU membership brings more advantages" "than disadvantages for Germany") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1830_ols.gph", replace
	

grc1leg 	 		"dump\fig_predprob_v_1450_ols.gph" ///
					"dump\fig_predprob_v_1451_ols.gph" ///
					"dump\fig_predprob_v_1452_ols.gph" ///
					"dump\fig_predprob_v_1830_ols.gph"	, ///
					ycommon xcommon col(2)  scale(.8) 	  imargin(0)
	graph display , ysize(8) xsize(8) 	
	
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].AddTextBox added_text editor 2.992712374982422 .5282599805243705
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text_new = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text_rec = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].text = {}
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].text.Arrpush ***
// editor text[1] edits

gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].AddTextBox added_text editor 2.815159330618757 .7901463774525558
gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text_new = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text_rec = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text[1].text = {}
gr_edit .plotregion1.graph1.plotregion1.plotregion1[2].added_text[1].text.Arrpush *
// editor text[1] edits

gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].AddTextBox added_text editor 3.232931199709734 .6371658300838124
gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text_new = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text_rec = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text[1].text = {}
gr_edit .plotregion1.graph1.plotregion1.plotregion1[7].added_text[1].text.Arrpush **
// editor text[1] edits

gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].AddTextBox added_text editor 2.188501526982291 .8832533086571707
gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text_new = 1
gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text_rec = 1
gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text[1].text = {}
gr_edit .plotregion1.graph2.plotregion1.plotregion1[2].added_text[1].text.Arrpush *
// editor text[1] edits

gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].AddTextBox added_text editor 4.549852574051759 .4445295490542735
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text_new = 1
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text_rec = 1
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].text = {}
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].text.Arrpush ***
// editor text[1] edits
	
	graph export "figures\fig_03.emf", replace
	graph export "figures\fig_03.pdf", replace	
	

	
******************************************************************************************************************************************************************	
*
*		Figure 4 Correlations EU vs. Anti-USA attitudes before and after the meeting
*
******************************************************************************************************************************************************************
gen v_1836c = v_1836
gen v_1838c = v_1838
gen v_1839c = v_1839
gen v_1841c = v_1841
gen v_1842c = v_1842
gen v_1450c = v_1450
gen v_1830c = v_1830
gen v_1461c = v_1461
gen v_1452c = v_1452

label variable v_1836c "USA: world conflicts"
label variable v_1838c "USA: rich/poor"
label variable v_1839c "USA: role model"
label variable v_1841c "USA: advocate democracy"
label variable v_1842c "USA: rely on"
label variable v_1450c "USA: cooperation"
label variable v_1830c "EU: membership"
label variable v_1461c "EU: common army"
label variable v_1452c "EU: cooperation"



* before meeting
quietly correlate v_1836c v_1838c v_1839c v_1841c v_1842c v_1450c v_1830c v_1461c v_1452c if after == 0 [aweight = gewicht2]
matrix correlation = r(C)

heatplot correlation, values(format(%9.3f)) color(hcl diverging , reverse  intensity(1)) legend(off) aspectratio(1) lower nodiagonal label cuts(-1.05(.1)1.05) title("Before Oval Office Meeting") 
graph save "dump/correlation_matrix_0.gph", replace


* after meeting 
quietly correlate v_1836c v_1838c v_1839c v_1841c v_1842c v_1450c v_1830c v_1461c v_1452c if after == 1 [aweight = gewicht2]
matrix C2 = r(C)

heatplot C2, values(format(%9.3f)) color(hcl diverging , reverse  intensity(1)) legend(off) aspectratio(1) lower nodiagonal label cuts(-1.05(.05)1.05) title("After Oval Office Meeting")
graph save "dump/correlation_matrix_1.gph", replace

graph combine "dump/correlation_matrix_0.gph" "dump/correlation_matrix_1.gph"
	
gr_edit .plotregion1.graph1.xaxis1.style.editstyle majorstyle(tickangle(forty_five)) editcopy
// xaxis1 angle

gr_edit .plotregion1.graph2.xaxis1.style.editstyle majorstyle(tickangle(forty_five)) editcopy
// xaxis1 angle

gr_edit .gmetric_mult = .8
// Graph edits

gr_edit .plotregion1.graph1.plotregion1.AddLine added_lines editor .5383483266017556 6.537490072113002 6.522067770514627 6.537490072113002
gr_edit .plotregion1.graph1.plotregion1.added_lines_new = 1
gr_edit .plotregion1.graph1.plotregion1.added_lines_rec = 1
gr_edit .plotregion1.graph1.plotregion1.added_lines[1].style.editstyle  linestyle( width(medium) color(black) pattern(shortdash) align(inside)) headstyle( symbol(circle) linestyle( width(thin) color(black) pattern(solid) align(inside)) fillcolor(black) size(medium) angle(stdarrow) symangle(zero) backsymbol(none) backline( width(thin) color(black) pattern(solid) align(inside)) backcolor(black) backsize(zero) backangle(stdarrow) backsymangle(zero)) headpos(neither) editcopy
// edits

gr_edit .plotregion1.graph1.plotregion1.AddLine added_lines editor 6.522067770514627 6.56711244559772 6.522067770514627 9.514538607327081
gr_edit .plotregion1.graph1.plotregion1.added_lines_new = 2
gr_edit .plotregion1.graph1.plotregion1.added_lines_rec = 2
gr_edit .plotregion1.graph1.plotregion1.added_lines[2].style.editstyle  linestyle( width(medium) color(black) pattern(shortdash) align(inside)) headstyle( symbol(circle) linestyle( width(thin) color(black) pattern(solid) align(inside)) fillcolor(black) size(medium) angle(stdarrow) symangle(zero) backsymbol(none) backline( width(thin) color(black) pattern(solid) align(inside)) backcolor(black) backsize(zero) backangle(stdarrow) backsymangle(zero)) headpos(neither) editcopy
// edits

gr_edit .plotregion1.graph1.plotregion1.AddLine added_lines editor 6.551690143999347 9.514538607327083 .5235371398594006 9.514538607327083
gr_edit .plotregion1.graph1.plotregion1.added_lines_new = 3
gr_edit .plotregion1.graph1.plotregion1.added_lines_rec = 3
gr_edit .plotregion1.graph1.plotregion1.added_lines[3].style.editstyle  linestyle( width(medium) color(black) pattern(shortdash) align(inside)) headstyle( symbol(circle) linestyle( width(thin) color(black) pattern(solid) align(inside)) fillcolor(black) size(medium) angle(stdarrow) symangle(zero) backsymbol(none) backline( width(thin) color(black) pattern(solid) align(inside)) backcolor(black) backsize(zero) backangle(stdarrow) backsymangle(zero)) headpos(neither) editcopy
// edits

gr_edit .plotregion1.graph1.plotregion1.AddLine added_lines editor .5235371398593969 9.529349794069441 .5235371398593969 6.522678885370645
gr_edit .plotregion1.graph1.plotregion1.added_lines_new = 4
gr_edit .plotregion1.graph1.plotregion1.added_lines_rec = 4
gr_edit .plotregion1.graph1.plotregion1.added_lines[4].style.editstyle  linestyle( width(medium) color(black) pattern(shortdash) align(inside)) headstyle( symbol(circle) linestyle( width(thin) color(black) pattern(solid) align(inside)) fillcolor(black) size(medium) angle(stdarrow) symangle(zero) backsymbol(none) backline( width(thin) color(black) pattern(solid) align(inside)) backcolor(black) backsize(zero) backangle(stdarrow) backsymangle(zero)) headpos(neither) editcopy
// edits

gr_edit .plotregion1.graph2.plotregion1.AddLine added_lines editor .5144497732615868 6.507867698628285 6.468546843689741 6.507867698628285
gr_edit .plotregion1.graph2.plotregion1.added_lines_new = 1
gr_edit .plotregion1.graph2.plotregion1.added_lines_rec = 1
gr_edit .plotregion1.graph2.plotregion1.added_lines[1].style.editstyle  linestyle( width(medium) color(black) pattern(shortdash) align(inside)) headstyle( symbol(circle) linestyle( width(thin) color(black) pattern(solid) align(inside)) fillcolor(black) size(medium) angle(stdarrow) symangle(zero) backsymbol(none) backline( width(thin) color(black) pattern(solid) align(inside)) backcolor(black) backsize(zero) backangle(stdarrow) backsymangle(zero)) headpos(neither) editcopy
// edits

gr_edit .plotregion1.graph2.plotregion1.AddLine added_lines editor 6.52779159065918 6.522678885370644 6.52779159065918 9.484916233842366
gr_edit .plotregion1.graph2.plotregion1.added_lines_new = 2
gr_edit .plotregion1.graph2.plotregion1.added_lines_rec = 2
gr_edit .plotregion1.graph2.plotregion1.added_lines[2].style.editstyle  linestyle( width(medium) color(black) pattern(shortdash) align(inside)) headstyle( symbol(circle) linestyle( width(thin) color(black) pattern(solid) align(inside)) fillcolor(black) size(medium) angle(stdarrow) symangle(zero) backsymbol(none) backline( width(thin) color(black) pattern(solid) align(inside)) backcolor(black) backsize(zero) backangle(stdarrow) backsymangle(zero)) headpos(neither) editcopy
// edits

gr_edit .plotregion1.graph2.plotregion1.AddLine added_lines editor 6.52779159065918 9.484916233842364 .5144497732615871 9.484916233842364
gr_edit .plotregion1.graph2.plotregion1.added_lines_new = 3
gr_edit .plotregion1.graph2.plotregion1.added_lines_rec = 3
gr_edit .plotregion1.graph2.plotregion1.added_lines[3].style.editstyle  linestyle( width(medium) color(black) pattern(shortdash) align(inside)) headstyle( symbol(circle) linestyle( width(thin) color(black) pattern(solid) align(inside)) fillcolor(black) size(medium) angle(stdarrow) symangle(zero) backsymbol(none) backline( width(thin) color(black) pattern(solid) align(inside)) backcolor(black) backsize(zero) backangle(stdarrow) backsymangle(zero)) headpos(neither) editcopy
// edits

gr_edit .plotregion1.graph2.plotregion1.AddLine added_lines editor .5440721467463056 9.573783354296516 .5440721467463056 6.537490072113002
gr_edit .plotregion1.graph2.plotregion1.added_lines_new = 4
gr_edit .plotregion1.graph2.plotregion1.added_lines_rec = 4
gr_edit .plotregion1.graph2.plotregion1.added_lines[4].style.editstyle  linestyle( width(medium) color(black) pattern(shortdash) align(inside)) headstyle( symbol(circle) linestyle( width(thin) color(black) pattern(solid) align(inside)) fillcolor(black) size(medium) angle(stdarrow) symangle(zero) backsymbol(none) backline( width(thin) color(black) pattern(solid) align(inside)) backcolor(black) backsize(zero) backangle(stdarrow) backsymangle(zero)) headpos(neither) editcopy
// edits

gr_edit .plotregion1.graph2.plotregion1.added_lines[4].drag_point = (.)
gr_edit .plotregion1.graph2.plotregion1.added_lines[4].DragBy -.0296223734847172 -.0296223734847187
// line[4] edits

gr_edit .plotregion1.graph2.plotregion1.added_lines[4].Delete
// line[4] edits

gr_edit .plotregion1.graph2.plotregion1.AddLine added_lines editor .5292609600039477 9.499727420584723 .5292609600039477 6.522678885370645
gr_edit .plotregion1.graph2.plotregion1.added_lines_new = 5
gr_edit .plotregion1.graph2.plotregion1.added_lines_rec = 5
gr_edit .plotregion1.graph2.plotregion1.added_lines[5].style.editstyle  linestyle( width(medium) color(black) pattern(shortdash) align(inside)) headstyle( symbol(circle) linestyle( width(thin) color(black) pattern(solid) align(inside)) fillcolor(black) size(medium) angle(stdarrow) symangle(zero) backsymbol(none) backline( width(thin) color(black) pattern(solid) align(inside)) backcolor(black) backsize(zero) backangle(stdarrow) backsymangle(zero)) headpos(neither) editcopy
// edits	
	
	graph export "figures\fig_04.emf", replace		
	graph export "figures\fig_04.pdf", replace		
	
	
	
	
*******************************************************************************************************************************************************************
*
*			Fig A1: participant flow chart (build in PPT)
*
*******************************************************************************************************************************************************************	

	log using figures\data_for_figure_A1.txt, replace text

	* Data for participant flow chart
	
	* for September 2023	
	use "data\PPD_September_2023.dta", replace
	
	* survey started:
	tab dispcode
	
	* Item nonresponse for age, gender, state or voting intention (used in the raking) or dropout / final sample for statistical analysis
	tab gewicht2, mis
	
	* Item nonresponse for variables of interest
	misstable summ v_1836 v_1838 v_1839 v_1841 v_1842 v_1832 if gewicht2 != .

* for February 2025	
	use "dump\PPD_February_2025_Trump.dta", replace
	
	* survey started:
	tab dispcode
	
	* Item nonresponse for age, gender, state or voting intention (used in the raking) or dropout / final sample for statistical analysis
	tab gewicht2, mis
	
	* Item nonresponse for variables of interest
	misstable summ v_1836 v_1838 v_1839 v_1841 v_1842 v_1832 v_1830 v_1461 v_1457 v_1492 v_1450 v_1451 v_1452 if gewicht2 != .	
	log close
	
	
*******************************************************************************************************************************************************************
*
*			Fig A2: Inspection of preexisting time trends
*
*******************************************************************************************************************************************************************

	use  "dump\PPD_February_2025_Trump.dta", replace	

	* generate dataset with means by hours
	collapse 	v_1836 v_1838 v_1839 v_1841 v_1842 v_1832 v_1830 v_1461 v_1457 v_1492 v_1450 v_1451 v_1452 ///
				[aweight=gewicht2] , by(hours) 
	
	twoway (connected v_1836 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///		
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///	
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("The USA is to blame for the fact" "that we have so many world conflicts")
	graph save "dump\A1_1836.gph", replace
	
	twoway (connected v_1838 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///	
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("Differences between rich and poor" "are more pronounced in the USA than in Germany")
	graph save "dump\A1_1838.gph", replace
	
	twoway (connected v_1839 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///			
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("The USA is still a role model for Germany" " ")
	graph save "dump\A1_1839.gph", replace	

	twoway (connected v_1841 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///			
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("No other country is such a strong advocate of democracy" "and defender of freedom and human rights as the USA")
	graph save "dump\A1_1841.gph", replace		

	twoway (connected v_1842 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///			
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///	
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("Germany can rely on the USA when it matters" " ")
	graph save "dump\A1_1842.gph", replace		

	twoway (connected v_1830 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///			
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("EU membership brings more advantages" "than disadvantages for Germany")
	graph save "dump\A1_1830.gph", replace		

	twoway (connected v_1832 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///		
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("Germany has become too reliant" "on other countries")
	graph save "dump\A1_1832.gph", replace		

	twoway (connected v_1461 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///		
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///	
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("Germany should advocate" "a common European army")
	graph save "dump\A1_1461.gph", replace	
	
	twoway (connected v_1457 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///	
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("Germany should break away from" "traditional allies and look for new ones")
	graph save "dump\A1_1457.gph", replace	

	twoway (connected v_1492 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///		
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("Germany should declare its willingness to" "provide soldiers for a peacekeeping force in Ukraine")
	graph save "dump\A1_1492.gph", replace		

	twoway (connected v_1450 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///	
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("How should Germany work together with" "USA")
	graph save "dump\A1_1450.gph", replace	

	twoway (connected v_1451 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///			
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("How should Germany work together with" "Russia")
	graph save "dump\A1_1451.gph", replace	
	
	twoway (connected v_1452 hours, sort), ///
		xlabel(1 "[-101h, -96h]" ///
				2 "[-96h, -72h]" ///
				3 "[-72h, -48h]" ///
				4 "[-48h, -24h]" ///
				5 "[-24h, OOM]" ///
				6 "[OOM, +24h]" ///
				7 "[+24h, +50h]" , labels angle(30) labsize(mlarge)) ///			
		xline(5.5	, lstyle(refline) lcolor(red) lwidth(1)) ///
		xtitle("") ///
		ytitle("") ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	subtitle("How should Germany work together with" "EU countries")
	graph save "dump\A1_1452.gph", replace	
	
	* empty graph
	graph twoway scatteri 1 1 " ", mlabsize(*4) mlabpos(0) msym(i) ///
	yscale(off noline) xscale(off noline) ///
	plotregion(style(white))
	graph save "dump\blank.gph", replace
	
	graph combine 	"dump\A1_1841.gph" ///
					"dump\A1_1842.gph" ///
					"dump\A1_1832.gph" ///
					"dump\A1_1836.gph" ///
					"dump\A1_1838.gph" ///
					"dump\A1_1839.gph", ///
					ycommon col(2)  scale(1.30) altshrink xsize(2.1) ysize(2.97)
	graph export "figures\fig_A2_a.emf", replace		
	graph export "figures\fig_A2_a.pdf", replace
					
					
	graph combine 	"dump\A1_1457.gph" ///
					"dump\A1_1492.gph" ///
					"dump\A1_1830.gph" ///
					"dump\A1_1461.gph" ///
					"dump\A1_1450.gph" ///
					"dump\A1_1451.gph", ///
					ycommon col(2)  scale(1.30) altshrink xsize(2.1) ysize(2.97)
	graph export "figures\fig_A2_b.emf", replace		
	graph export "figures\fig_A2_b.pdf", replace		

	graph combine 	"dump\A1_1452.gph"  ///
					"dump\blank.gph"	///
					"dump\blank.gph"	///
					"dump\blank.gph"	///
					"dump\blank.gph"	///
					"dump\blank.gph",	///
						ycommon col(2)  scale(1.30) altshrink xsize(2.1) ysize(2.97) 
	graph export "figures\fig_A2_c.emf", replace		
	graph export "figures\fig_A2_c.pdf", replace
	

*******************************************************************************************************************************************************************
*
*				Figure A3: Foreign and defense policy positions by voting behavior and the Trump treatment groups. 
*
*******************************************************************************************************************************************************************	

		
* v_1461
use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1461 zweitstimme [aweight = gewicht2] if after_meeting == 0, matcell(freq)
mata: st_matrix("v_1461", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1461 , format("%4.3f")
svmat v_1461

keep v_1461* 
drop v_1461

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1461, i(level) j(zweitstimme)
gen after_meeting = 0
save "dump\v_1461_before.dta", replace

use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1461 zweitstimme [aweight = gewicht2] if after_meeting == 1, matcell(freq)
mata: st_matrix("v_1461", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1461 , format("%4.3f")
svmat v_1461

keep v_1461* 
drop v_1461

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1461, i(level) j(zweitstimme)
gen after_meeting = 1
save "dump\v_1461_after.dta", replace

append 	  using 	"dump\v_1461_before.dta" 

label value zweitstimme zweitstimme
label value level agree_scale
label value after_meeting after_meeting
gen v_1461_perc = v_1461 * 100

graph bar v_1461_perc if zweitstimme != 8, over(after_meeting) ///
				over (level, lab(angle(0) labsize(vsmall))) ///
				over (zweitstimme, lab(labsize (small))) ///
				xsize(10) ysize(6)			///
				ylabel(, labsize(vsmall)) ///
				ytitle("") title("Germany should advocate a common European army") 	///
										exclude0 ysc(r(0,80)) 													///
										scheme(plotplainblind) 													///
										bar(1, color(538t)) bar(2, color(538o))  								///	
										legend(pos(6) rows(1) 		size(vsmall)											///
										label(1 "Feb. 2025: before Trump–Zelenskyy meeting") label(2 "Feb. 2025: after Trump–Zelenskyy meeting") )
				graph save "dump\fig_bars_v_1461.gph", replace					
				
* v_1457
use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1457 zweitstimme [aweight = gewicht2] if after_meeting == 0, matcell(freq)
mata: st_matrix("v_1457", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1457 , format("%4.3f")
svmat v_1457

keep v_1457* 
drop v_1457

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1457, i(level) j(zweitstimme)
gen after_meeting = 0
save "dump\v_1457_before.dta", replace

use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1457 zweitstimme [aweight = gewicht2] if after_meeting == 1, matcell(freq)
mata: st_matrix("v_1457", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1457 , format("%4.3f")
svmat v_1457

keep v_1457* 
drop v_1457

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1457, i(level) j(zweitstimme)
gen after_meeting = 1
save "dump\v_1457_after.dta", replace

append 	  using 	"dump\v_1457_before.dta" 

label value zweitstimme zweitstimme
label value level agree_scale
label value after_meeting after_meeting
gen v_1457_perc = v_1457 * 100

graph bar v_1457_perc if zweitstimme != 8, over(after_meeting) ///
				over (level, lab(angle(0) labsize(vsmall))) ///
				over (zweitstimme, lab(labsize (small))) ///
				xsize(10) ysize(6)			///
				ylabel(, labsize(vsmall)) ///
				ytitle("") title("Germany should break away from traditional allies" "and look for new ones") 	///
										exclude0 ysc(r(0,80)) 													///
										scheme(plotplainblind) 													///
										bar(1, color(538t)) bar(2, color(538o))  								///	
										legend(pos(6) rows(1) 	size(vsmall)												///
										label(1 "Feb. 2025: before Trump–Zelenskyy meeting") label(2 "Feb. 2025: after Trump–Zelenskyy meeting") )
				graph save "dump\fig_bars_v_1457.gph", replace					
				
* v_1492
use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1492 zweitstimme [aweight = gewicht2] if after_meeting == 0, matcell(freq)
mata: st_matrix("v_1492", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1492 , format("%4.3f")
svmat v_1492

keep v_1492* 
drop v_1492

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1492, i(level) j(zweitstimme)
gen after_meeting = 0
save "dump\v_1492_before.dta", replace

use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1492 zweitstimme [aweight = gewicht2] if after_meeting == 1, matcell(freq)
mata: st_matrix("v_1492", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1492 , format("%4.3f")
svmat v_1492

keep v_1492* 
drop v_1492

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1492, i(level) j(zweitstimme)
gen after_meeting = 1
save "dump\v_1492_after.dta", replace

append 	  using 	"dump\v_1492_before.dta" 

label value zweitstimme zweitstimme
label value level agree_scale
label value after_meeting after_meeting
gen v_1492_perc = v_1492 * 100

graph bar v_1492_perc if zweitstimme != 8, over(after_meeting) ///
				over (level, lab(angle(0) labsize(vsmall))) ///
				over (zweitstimme, lab(labsize (small))) ///
				xsize(10) ysize(6)			///
				ylabel(, labsize(vsmall)) ///
				ytitle("") title("Germany should declare its willingness to provide" "soldiers for a peacekeeping force in Ukraine") 	///
										exclude0 ysc(r(0,80)) 													///
										scheme(plotplainblind) 													///
										bar(1, color(538t)) bar(2, color(538o))  								///	
										legend(pos(6) rows(1) 	size(vsmall)												///
										label(1 "Feb. 2025: before Trump–Zelenskyy meeting") label(2 "Feb. 2025: after Trump–Zelenskyy meeting") )
				graph save "dump\fig_bars_v_1492.gph", replace					


* v_1830
use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1830 zweitstimme [aweight = gewicht2] if after_meeting == 0, matcell(freq)
mata: st_matrix("v_1830", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1830 , format("%4.3f")
svmat v_1830

keep v_1830* 
drop v_1830

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1830, i(level) j(zweitstimme)
gen after_meeting = 0
save "dump\v_1830_before.dta", replace

use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1830 zweitstimme [aweight = gewicht2] if after_meeting == 1, matcell(freq)
mata: st_matrix("v_1830", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1830 , format("%4.3f")
svmat v_1830

keep v_1830* 
drop v_1830

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1830, i(level) j(zweitstimme)
gen after_meeting = 1
save "dump\v_1830_after.dta", replace

append 	  using 	"dump\v_1830_before.dta" 

label value zweitstimme zweitstimme
label value level agree_scale
label value after_meeting after_meeting
gen v_1830_perc = v_1830 * 100

graph bar v_1830_perc if zweitstimme != 8, over(after_meeting) ///
				over (level, lab(angle(0) labsize(vsmall))) ///
				over (zweitstimme, lab(labsize (small))) ///
				xsize(10) ysize(6)			///
				ylabel(, labsize(vsmall)) ///
				ytitle("") title("EU membership brings more advantages" "than disadvantages for Germany") 	///
										exclude0 ysc(r(0,80)) 													///
										scheme(plotplainblind) 													///
										bar(1, color(538t)) bar(2, color(538o))  								///	
										legend(pos(6) rows(1) 	size(vsmall)												///
										label(1 "Feb. 2025: before Trump–Zelenskyy meeting") label(2 "Feb. 2025: after Trump–Zelenskyy meeting") )
				graph save "dump\fig_bars_v_1830.gph", replace					


grc1leg 	 		"dump\fig_bars_v_1457.gph" ///
					"dump\fig_bars_v_1492.gph" ///
					"dump\fig_bars_v_1830.gph" ///
					"dump\fig_bars_v_1461.gph" , ///
					ycommon col(1)  scale(1) 	 imargin(0)
	graph display , ysize(12) xsize(8) 

	graph export "figures\fig_A3.emf", replace						
	graph export "figures\fig_A3.pdf", replace					
				
			
				
*******************************************************************************************************************************************************************
*
*				Figure A4: Stances towards cooperation with other countries by voting behavior and the Trump treatment groups
*
*******************************************************************************************************************************************************************					
			
				
* v_1450
use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1450 zweitstimme [aweight = gewicht2] if after_meeting == 0, matcell(freq)
mata: st_matrix("v_1450", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1450 , format("%4.3f")
svmat v_1450

keep v_1450* 
drop v_1450

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1450, i(level) j(zweitstimme)
gen after_meeting = 0
save "dump\v_1450_before.dta", replace

use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1450 zweitstimme [aweight = gewicht2] if after_meeting == 1, matcell(freq)
mata: st_matrix("v_1450", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1450 , format("%4.3f")
svmat v_1450

keep v_1450* 
drop v_1450

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1450, i(level) j(zweitstimme)
gen after_meeting = 1
save "dump\v_1450_after.dta", replace

append 	  using 	"dump\v_1450_before.dta" 

label value zweitstimme zweitstimme
label value level working_together
label value after_meeting after_meeting
gen v_1450_perc = v_1450 * 100

graph bar v_1450_perc if zweitstimme != 8, over(after_meeting) ///
				over (level, lab(angle(0) labsize(small))) ///
				over (zweitstimme, lab(labsize (small))) ///
				xsize(10) ysize(6)			///
				ylabel(, labsize(vsmall)) ///
				ytitle("") title("USA") 	///
										exclude0 ysc(r(0,80)) 													///
										scheme(plotplainblind) 													///
										bar(1, color(538t)) bar(2, color(538o))  								///	
										legend(pos(6) rows(1) 	size(vsmall)												///
										label(1 "Feb. 2025: before Trump–Zelenskyy meeting") label(2 "Feb. 2025: after Trump–Zelenskyy meeting") )
				graph save "dump\fig_bars_v_1450.gph", replace						
				
* v_1451
use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1451 zweitstimme [aweight = gewicht2] if after_meeting == 0, matcell(freq)
mata: st_matrix("v_1451", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1451 , format("%4.3f")
svmat v_1451

keep v_1451* 
drop v_1451

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1451, i(level) j(zweitstimme)
gen after_meeting = 0
save "dump\v_1451_before.dta", replace

use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1451 zweitstimme [aweight = gewicht2] if after_meeting == 1, matcell(freq)
mata: st_matrix("v_1451", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1451 , format("%4.3f")
svmat v_1451

keep v_1451* 
drop v_1451

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1451, i(level) j(zweitstimme)
gen after_meeting = 1
save "dump\v_1451_after.dta", replace

append 	  using 	"dump\v_1451_before.dta" 

label value zweitstimme zweitstimme
label value level working_together
label value after_meeting after_meeting
gen v_1451_perc = v_1451 * 100

graph bar v_1451_perc if zweitstimme != 8, over(after_meeting) ///
				over (level, lab(angle(0) labsize(small))) ///
				over (zweitstimme, lab(labsize (small))) ///
				xsize(10) ysize(6)			///
				ylabel(, labsize(vsmall)) ///
				ytitle("") title("Russia") 	///
										exclude0 ysc(r(0,80)) 													///
										scheme(plotplainblind) 													///
										bar(1, color(538t)) bar(2, color(538o))  								///	
										legend(pos(6) rows(1) 	size(vsmall)												///
										label(1 "Feb. 2025: before Trump–Zelenskyy meeting") label(2 "Feb. 2025: after Trump–Zelenskyy meeting") )
				graph save "dump\fig_bars_v_1451.gph", replace						
				
* v_1452
use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1452 zweitstimme [aweight = gewicht2] if after_meeting == 0, matcell(freq)
mata: st_matrix("v_1452", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1452 , format("%4.3f")
svmat v_1452

keep v_1452* 
drop v_1452

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1452, i(level) j(zweitstimme)
gen after_meeting = 0
save "dump\v_1452_before.dta", replace

use "dump\PPD_February_2025_Trump.dta", replace	
tab v_1452 zweitstimme [aweight = gewicht2] if after_meeting == 1, matcell(freq)
mata: st_matrix("v_1452", (st_matrix("freq")  :/ colsum(st_matrix("freq"))))
mat list v_1452 , format("%4.3f")
svmat v_1452

keep v_1452* 
drop v_1452

gen level = 1 in 1 
replace level = 2 in 2
replace level = 3 in 3
replace level = 4 in 4
replace level = 5 in 5
drop if level == .

reshape long v_1452, i(level) j(zweitstimme)
gen after_meeting = 1
save "dump\v_1452_after.dta", replace

append 	  using 	"dump\v_1452_before.dta" 

label value zweitstimme zweitstimme
label value level working_together
label value after_meeting after_meeting
gen v_1452_perc = v_1452 * 100

graph bar v_1452_perc if zweitstimme != 8, over(after_meeting) ///
				over (level, lab(angle(0) labsize(small))) ///
				over (zweitstimme, lab(labsize (small))) ///
				xsize(10) ysize(6)			///
				ylabel(, labsize(vsmall)) ///
				ytitle("") title("EU countries") 	///
										exclude0 ysc(r(0,80)) 													///
										scheme(plotplainblind) 													///
										bar(1, color(538t)) bar(2, color(538o))  								///	
										legend(pos(6) rows(1) size(vsmall)													///
										label(1 "Feb. 2025: before Trump–Zelenskyy meeting") label(2 "Feb. 2025: after Trump–Zelenskyy meeting") )
				graph save "dump\fig_bars_v_1452.gph", replace						

grc1leg 	 		"dump\fig_bars_v_1450.gph" ///
					"dump\fig_bars_v_1451.gph" ///
					"dump\fig_bars_v_1452.gph" , ///
					ycommon col(1)  scale(1) 	subtitle("How should Germany cooperate with the following countries or groups of countries?", size(small)) imargin(0)
	graph display , ysize(12) xsize(12) 
	graph export "figures\fig_A4.emf", replace						
	graph export "figures\fig_A4.pdf", replace	
	
	
*******************************************************************************************************************************************************************
*
*				Figure A5: Predictions based on OLS (one single model with interactions after_meeting * zweitstimme) additional variables v_1841, v_1836, v_1839, v_1832, v_1838
*
*******************************************************************************************************************************************************************	
				
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1841 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] 
	estimates store ols_v_1841
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("No other country is such a strong advocate of democracy" "and defender of freedom and human rights as the USA") ) recast(connected) ///
	yscale(r(1 5))  ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1841_ols.gph", replace
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1836 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	estimates store ols_v_1836
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("The USA is to blame for the fact" "that we have so many world conflicts") ) recast(connected) ///
	yscale(r(1 5))  ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge))  ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1836_ols.gph", replace
		
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1839 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	estimates store ols_v_1839
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("The USA is still" "a role model for Germany") ) recast(connected) ///
	yscale(r(1 5))  ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1839_ols.gph", replace

	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1832 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] 
	estimates store ols_v_1832
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("Germany has become too" "reliant on other countries") ) recast(connected) ///
	yscale(r(1 5))  ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1832_ols.gph", replace	

	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1838 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] 
	estimates store ols_v_1838
	margins zweitstimm#after_meeting if zweitstimme != 8, level(90)
	margins zweitstimm#after_meeting if zweitstimme != 8, level(95)	
	margins zweitstimm#after_meeting if zweitstimme != 8, level(99)
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("Differences between rich and poor are" "more pronounced in the USA than in Germany") ) recast(connected) ///
	yscale(r(1 5))  ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(large)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1838_ols.gph", replace		


	
grc1leg 	 		"dump\fig_predprob_v_1841_ols.gph" ///
					"dump\fig_predprob_v_1836_ols.gph" ///
					"dump\fig_predprob_v_1839_ols.gph" ///
					"dump\fig_predprob_v_1832_ols.gph" ///
					"dump\fig_predprob_v_1838_ols.gph", ///
					ycommon xcommon col(2)  scale(.8) 	  imargin(0) 
	graph display , ysize(12) xsize(8) 	
	
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].AddTextBox added_text editor 2.114931868271473 .6082740770805781
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text_new = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text_rec = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].text = {}
gr_edit .plotregion1.graph1.plotregion1.plotregion1[1].added_text[1].text.Arrpush ***
// editor text[1] edits

gr_edit .plotregion1.graph1.plotregion1.plotregion1[4].AddTextBox added_text editor 3.220155770756748 .8189845096347959
gr_edit .plotregion1.graph1.plotregion1.plotregion1[4].added_text_new = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[4].added_text_rec = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[4].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[4].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[4].added_text[1].text = {}
gr_edit .plotregion1.graph1.plotregion1.plotregion1[4].added_text[1].text.Arrpush *
// editor text[1] edits

gr_edit .plotregion1.graph1.plotregion1.plotregion1[6].AddTextBox added_text editor 2.940165715460477 .5831673643319708
gr_edit .plotregion1.graph1.plotregion1.plotregion1[6].added_text_new = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[6].added_text_rec = 1
gr_edit .plotregion1.graph1.plotregion1.plotregion1[6].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[6].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph1.plotregion1.plotregion1[6].added_text[1].text = {}
gr_edit .plotregion1.graph1.plotregion1.plotregion1[6].added_text[1].text.Arrpush ***
// editor text[1] edits

gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].AddTextBox added_text editor 3.117001539858119 .6048718401910052
gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text_new = 1
gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text_rec = 1
gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text[1].text = {}
gr_edit .plotregion1.graph2.plotregion1.plotregion1[1].added_text[1].text.Arrpush ***
// editor text[1] edits

gr_edit .plotregion1.graph2.plotregion1.plotregion1[4].AddTextBox added_text editor 2.733857253663224 .6274368892423996
gr_edit .plotregion1.graph2.plotregion1.plotregion1[4].added_text_new = 1
gr_edit .plotregion1.graph2.plotregion1.plotregion1[4].added_text_rec = 1
gr_edit .plotregion1.graph2.plotregion1.plotregion1[4].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph2.plotregion1.plotregion1[4].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph2.plotregion1.plotregion1[4].added_text[1].text = {}
gr_edit .plotregion1.graph2.plotregion1.plotregion1[4].added_text[1].text.Arrpush **
// editor text[1] edits

gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].AddTextBox added_text editor 3.308573682955567 .7051953831109259
gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text_new = 1
gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text_rec = 1
gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text[1].text = {}
gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text[1].text.Arrpush *
// editor text[1] edits

gr_edit .plotregion1.graph2.plotregion1.plotregion1[7].AddTextBox added_text editor 3.721190606550071 .5245716826252701
gr_edit .plotregion1.graph2.plotregion1.plotregion1[7].added_text_new = 1
gr_edit .plotregion1.graph2.plotregion1.plotregion1[7].added_text_rec = 1
gr_edit .plotregion1.graph2.plotregion1.plotregion1[7].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph2.plotregion1.plotregion1[7].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph2.plotregion1.plotregion1[7].added_text[1].text = {}
gr_edit .plotregion1.graph2.plotregion1.plotregion1[7].added_text[1].text.Arrpush ***
// editor text[1] edits

gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].AddTextBox added_text editor 2.095786848265452 .6082740770805781
gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text_new = 1
gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text_rec = 1
gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text[1].text = {}
gr_edit .plotregion1.graph3.plotregion1.plotregion1[1].added_text[1].text.Arrpush ***
// editor text[1] edits

gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].AddTextBox added_text editor 2.788393827156223 .5831673643319708
gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text_new = 1
gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text_rec = 1
gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text[1].text = {}
gr_edit .plotregion1.graph3.plotregion1.plotregion1[6].added_text[1].text.Arrpush ***
// editor text[1] edits

gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].AddTextBox added_text editor 3.245219706850137 .675108651042409
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text_new = 1
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text_rec = 1
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].text = {}
gr_edit .plotregion1.graph4.plotregion1.plotregion1[2].added_text[1].text.Arrpush **
// editor text[1] edits

gr_edit .plotregion1.graph5.plotregion1.plotregion1[7].AddTextBox added_text editor 4.080781171432727 .6534041751833705
gr_edit .plotregion1.graph5.plotregion1.plotregion1[7].added_text_new = 1
gr_edit .plotregion1.graph5.plotregion1.plotregion1[7].added_text_rec = 1
gr_edit .plotregion1.graph5.plotregion1.plotregion1[7].added_text[1].style.editstyle  angle(default) size(huge) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
gr_edit .plotregion1.graph5.plotregion1.plotregion1[7].added_text[1].style.editstyle size(medlarge) editcopy
gr_edit .plotregion1.graph5.plotregion1.plotregion1[7].added_text[1].text = {}
gr_edit .plotregion1.graph5.plotregion1.plotregion1[7].added_text[1].text.Arrpush ***
// editor text[1] edits

gr_edit .plotregion1.graph2.plotregion1.plotregion1[6].added_text[1].DragBy -.0147363186998043 .12543025566853
// editor text[1] reposition

gr_edit .plotregion1.graph2.plotregion1.plotregion1[4].added_text[1].DragBy 0 .12543025566853
// editor text[1] reposition	
	
	graph export "figures\fig_A5.emf", replace
	graph export "figures\fig_A5.pdf", replace		
	
	

*******************************************************************************************************************************************************************
*
*				Figure A6 Replication of Figure 2 using different bandwidths, predictions from OLS regression (+95% CI)  
*
*******************************************************************************************************************************************************************		
	
	
*** full sample	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1842 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1842_ols.gph", replace
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1457 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1457_ols.gph", replace
		
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1461 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1461_ols.gph", replace

	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1492 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1492_ols.gph", replace	
	
*** 24 hours bandwidth	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1842 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if one_day == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, saving(dump\v_1842_24h, replace)
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1842_ols_24.gph", replace

	* for truncated CIs
	use dump\v_1842_24h, clear
	*SET MIN AT 1 AND MAX 5
	gen _ci_lb2= cond(_ci_lb <1, 1, _ci_lb)
	gen _ci_ub2= cond(_ci_ub >5, 5, _ci_ub)
	twoway 	(rcap _ci_lb2 _ci_ub2 _m2, sort   				///
					yscale(r(1 5))  						///
					xlabel( 0 "b" 1 "a" , labsize(mlarge)) 	///
					ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge))) ///
			(connected _margin _m2, 	 lpattern(solid) lcolor(black) msymbol(Oh) mcolor(black)) 					///
			(scatteri 5.0 -0.15 5.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) 	) /// 
			(scatteri 1.0 -0.15 1.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) ), 	by(_m1, col(7) note("") legend(off)) ///
			xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1842_ols_24_truncated.gph", replace

	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1457 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if one_day == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, saving(dump\v_1457_24h, replace)
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1457_ols_24.gph", replace

	* for truncated CIs
	use dump\v_1457_24h, clear
	*SET MIN AT 1 AND MAX 5
	gen _ci_lb2= cond(_ci_lb <1, 1, _ci_lb)
	gen _ci_ub2= cond(_ci_ub >5, 5, _ci_ub)
	twoway 	(rcap _ci_lb2 _ci_ub2 _m2, sort   				///
					yscale(r(1 5))  						///
					xlabel( 0 "b" 1 "a" , labsize(mlarge)) 	///
					ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge))) ///
			(connected _margin _m2, 	 lpattern(solid) lcolor(black) msymbol(Oh) mcolor(black)) 					///
			(scatteri 5.0 -0.15 5.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) 	) /// 
			(scatteri 1.0 -0.15 1.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) ), 	by(_m1, col(7) note("") legend(off)) ///
			xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1457_ols_24_truncated.gph", replace	
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1461 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if one_day == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, saving(dump\v_1461_24h, replace)
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1461_ols_24.gph", replace

	* for truncated CIs
	use dump\v_1461_24h, clear
	*SET MIN AT 1 AND MAX 5
	gen _ci_lb2= cond(_ci_lb <1, 1, _ci_lb)
	gen _ci_ub2= cond(_ci_ub >5, 5, _ci_ub)
	twoway 	(rcap _ci_lb2 _ci_ub2 _m2, sort   				///
					yscale(r(1 5))  						///
					xlabel( 0 "b" 1 "a" , labsize(mlarge)) 	///
					ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge))) ///
			(connected _margin _m2, 	 lpattern(solid) lcolor(black) msymbol(Oh) mcolor(black)) 					///
			(scatteri 5.0 -0.15 5.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) 	) /// 
			(scatteri 1.0 -0.15 1.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) ), 	by(_m1, col(7) note("") legend(off)) ///
			xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1461_ols_24_truncated.gph", replace		
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1492 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if one_day == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, saving(dump\v_1492_24h, replace)
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1492_ols_24.gph", replace	

	* for truncated CIs
	use dump\v_1492_24h, clear
	*SET MIN AT 1 AND MAX 5
	gen _ci_lb2= cond(_ci_lb <1, 1, _ci_lb)
	gen _ci_ub2= cond(_ci_ub >5, 5, _ci_ub)
	twoway 	(rcap _ci_lb2 _ci_ub2 _m2, sort   				///
					yscale(r(1 5))  						///
					xlabel( 0 "b" 1 "a" , labsize(mlarge)) 	///
					ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge))) ///
			(connected _margin _m2, 	 lpattern(solid) lcolor(black) msymbol(Oh) mcolor(black)) 					///
			(scatteri 5.0 -0.15 5.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) 	) /// 
			(scatteri 1.0 -0.15 1.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) ), 	by(_m1, col(7) note("") legend(off)) ///
			xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1492_ols_24_truncated.gph", replace		
	
*** 48 hours bandwidth		
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1842 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if two_days == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1842_ols_48.gph", replace
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1457 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if two_days == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1457_ols_48.gph", replace
		
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1461 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if two_days == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1461_ols_48.gph", replace

	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1492 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if two_days == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" , labsize(mlarge)) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1492_ols_48.gph", replace	
	

grc1leg 	 		"dump\fig_predprob_v_1842_ols.gph" 		///
					"dump\fig_predprob_v_1842_ols_48.gph" 	///
					"dump\fig_predprob_v_1842_ols_24_truncated.gph" 	///
					"dump\fig_predprob_v_1457_ols.gph" 		///
					"dump\fig_predprob_v_1457_ols_48.gph" 	///
					"dump\fig_predprob_v_1457_ols_24_truncated.gph" 	///
					"dump\fig_predprob_v_1461_ols.gph"		///
					"dump\fig_predprob_v_1461_ols_48.gph" 	///
					"dump\fig_predprob_v_1461_ols_24_truncated.gph" 	///
					"dump\fig_predprob_v_1492_ols.gph"		///
					"dump\fig_predprob_v_1492_ols_48.gph" 	///
					"dump\fig_predprob_v_1492_ols_24_truncated.gph", 	///
					ycommon xcommon col(3)  scale(1) 	  imargin(0) 
	graph display , ysize(10) xsize(15) margin(medium)	
	
	gr_edit .AddTextBox added_text editor 94 10
	gr_edit .added_text_new = 1
	gr_edit .added_text_rec = 1
	gr_edit .added_text[1].style.editstyle  angle(default) size(vsmall) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[1].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[1].text = {}
	gr_edit .added_text[1].text.Arrpush full sample (100h before, 51h after meeting)
	// editor text[1] edits

	gr_edit .AddTextBox added_text editor 94 72
	gr_edit .added_text_new = 2
	gr_edit .added_text_rec = 2
	gr_edit .added_text[2].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[2].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[2].text = {}
	gr_edit .added_text[2].text.Arrpush +/- 48h
	// editor text[2] edits

	gr_edit .AddTextBox added_text editor 94 117
	gr_edit .added_text_new = 3
	gr_edit .added_text_rec = 3
	gr_edit .added_text[3].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[3].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[3].text = {}
	gr_edit .added_text[3].text.Arrpush +/- 24h
	// editor text[3] edits

	gr_edit .AddTextBox added_text editor 81 -2
	gr_edit .added_text_new = 4
	gr_edit .added_text_rec = 4
	gr_edit .added_text[4].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[4].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[4]._set_orientation vertical
	gr_edit .added_text[4].text = {}
	gr_edit .added_text[4].text.Arrpush Rely on the USA
	// editor text[4] edits

	gr_edit .AddTextBox added_text editor 59 -2
	gr_edit .added_text_new = 5
	gr_edit .added_text_rec = 5
	gr_edit .added_text[5].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[5].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[5]._set_orientation vertical
	gr_edit .added_text[5].text = {}
	gr_edit .added_text[5].text.Arrpush Allies
	// editor text[5] edits	
	
	gr_edit .AddTextBox added_text editor 35 -2
	gr_edit .added_text_new = 6
	gr_edit .added_text_rec = 6
	gr_edit .added_text[6].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[6].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[6]._set_orientation vertical
	gr_edit .added_text[6].text = {}
	gr_edit .added_text[6].text.Arrpush European army
	// editor text[6] edits		
	
	gr_edit .AddTextBox added_text editor 12 -2
	gr_edit .added_text_new = 7
	gr_edit .added_text_rec = 7
	gr_edit .added_text[7].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[7].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[7]._set_orientation vertical
	gr_edit .added_text[7].text = {}
	gr_edit .added_text[7].text.Arrpush Peacekeeping force Ukraine
	// editor text[7] edits		
	
	graph export "figures\fig_A6.emf", replace
	graph export "figures\fig_A6.pdf", replace	
	
	

*******************************************************************************************************************************************************************
*
*				Figure A7 Replication of Figure 3 using different bandwidths, predictions from OLS regression (+95% CI)  
*
*******************************************************************************************************************************************************************		
		
*** full sample	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1450 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" ) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1450_ols.gph", replace

	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1451 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" )  ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1451_ols.gph", replace
		
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1452 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" ) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1452_ols.gph", replace

	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1830 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" ) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1830_ols.gph", replace
	
	
*** 24 hours bandwidth
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1450 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if one_day == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, saving(dump\v_1450_24h, replace)
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" ) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1450_ols_24.gph", replace

	* for truncated CIs
	use dump/v_1450_24h, clear
	*SET MIN AT 1 AND MAX 5
	gen _ci_lb2= cond(_ci_lb <1, 1, _ci_lb)
	gen _ci_ub2= cond(_ci_ub >5, 5, _ci_ub)
	twoway 	(rcap _ci_lb2 _ci_ub2 _m2, sort   				///
					yscale(r(1 5))  						///
					xlabel( 0 "b" 1 "a" , ) 	///
					ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", )) ///
			(connected _margin _m2, 	 lpattern(solid) lcolor(black) msymbol(Oh) mcolor(black)) 					///
			(scatteri 5.0 -0.15 5.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) 	) /// 
			(scatteri 1.0 -0.15 1.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) ), 	by(_m1, col(7) note("") legend(off)) ///
			xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1450_ols_24_truncated.gph", replace		
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1451 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if one_day == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, saving(dump\v_1451_24h, replace)
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" )  ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1451_ols_24.gph", replace

	* for truncated CIs
	use dump\v_1451_24h, clear
	*SET MIN AT 1 AND MAX 5
	gen _ci_lb2= cond(_ci_lb <1, 1, _ci_lb)
	gen _ci_ub2= cond(_ci_ub >5, 5, _ci_ub)
	twoway 	(rcap _ci_lb2 _ci_ub2 _m2, sort   				///
					yscale(r(1 5))  						///
					xlabel( 0 "b" 1 "a" , ) 	///
					ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", )) ///
			(connected _margin _m2, 	 lpattern(solid) lcolor(black) msymbol(Oh) mcolor(black)) 					///
			(scatteri 5.0 -0.15 5.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) 	) /// 
			(scatteri 1 -0.15 1 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(medthick) ), 	by(_m1, col(7) note("") legend(off)) ///
			xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1451_ols_24_truncated.gph", replace		
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1452 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if one_day == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, saving(dump\v_1452_24h, replace)
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" ) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1452_ols_24.gph", replace

	* for truncated CIs
	use dump\v_1452_24h, clear
	*SET MIN AT 1 AND MAX 5
	gen _ci_lb2= cond(_ci_lb <1, 1, _ci_lb)
	gen _ci_ub2= cond(_ci_ub >5, 5, _ci_ub)
	twoway 	(rcap _ci_lb2 _ci_ub2 _m2, sort   				///
					yscale(r(1 5))  						///
					xlabel( 0 "b" 1 "a" ,) 	///
					ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", )) ///
			(connected _margin _m2, 	 lpattern(solid) lcolor(black) msymbol(Oh) mcolor(black)) 					///
			(scatteri 5.0 -0.15 5.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) 	) /// 
			(scatteri 1.0 -0.15 1.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) ), 	by(_m1, col(7) note("") legend(off)) ///
			xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1452_ols_24_truncated.gph", replace		

	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1830 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if one_day == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, saving(dump\v_1830_24h, replace)
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" ) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1830_ols_24.gph", replace

	* for truncated CIs
	use dump\v_1830_24h, clear
	*SET MIN AT 1 AND MAX 5
	gen _ci_lb2= cond(_ci_lb <1, 1, _ci_lb)
	gen _ci_ub2= cond(_ci_ub >5, 5, _ci_ub)
	twoway 	(rcap _ci_lb2 _ci_ub2 _m2, sort   				///
					yscale(r(1 5))  						///
					xlabel( 0 "b" 1 "a" ,) 	///
					ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", )) ///
			(connected _margin _m2, 	 lpattern(solid) lcolor(black) msymbol(Oh) mcolor(black)) 					///
			(scatteri 5.0 -0.15 5.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) 	) /// 
			(scatteri 1.0 -0.15 1.0 1.15, recast(line) lpattern(solid) lcolor(white) lwidth(thick) ), 	by(_m1, col(7) note("") legend(off)) ///
			xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1830_ols_24_truncated.gph", replace		
	
	
*** 48 hours bandwidth	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1450 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if two_days == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" ) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 
	graph save "dump\fig_predprob_v_1450_ols_48.gph", replace

	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1451 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if two_days == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" )  ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1451_ols_48.gph", replace
		
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1452 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if two_days == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" ) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1452_ols_48.gph", replace	
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	reg v_1830 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  if two_days == 1
	margins zweitstimm#after_meeting if zweitstimme != 8, 
	marginsplot ,   by(zweitstimme) byopts(col(7) title("") ) recast(connected) ///
	yscale(r(1 5)) ylabel(1(.5)5, grid) ///
	xlabel( 0 "b" 1 "a" ) ///
	ylabel( 1 "- -"	2 "-"	3 "-/+"	 4 "+"	5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") 	
	graph save "dump\fig_predprob_v_1830_ols_48.gph", replace
	
	
grc1leg 	 		"dump\fig_predprob_v_1450_ols.gph" 		///
					"dump\fig_predprob_v_1450_ols_48.gph" 	///
					"dump\fig_predprob_v_1450_ols_24_truncated.gph" 	///
					"dump\fig_predprob_v_1451_ols.gph" 		///
					"dump\fig_predprob_v_1451_ols_48.gph" 	///
					"dump\fig_predprob_v_1451_ols_24_truncated.gph" 	///
					"dump\fig_predprob_v_1452_ols.gph"		///
					"dump\fig_predprob_v_1452_ols_48.gph" 	///
					"dump\fig_predprob_v_1452_ols_24_truncated.gph" 	///
					"dump\fig_predprob_v_1830_ols.gph"		///
					"dump\fig_predprob_v_1830_ols_48.gph" 	///
					"dump\fig_predprob_v_1830_ols_24_truncated.gph" ,	///
					ycommon xcommon col(3)  scale(1) 	  imargin(0) 
	graph display , ysize(10) xsize(15) margin(medium)	
	
	
	gr_edit .AddTextBox added_text editor 94 10
	gr_edit .added_text_new = 1
	gr_edit .added_text_rec = 1
	gr_edit .added_text[1].style.editstyle  angle(default) size(vsmall) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[1].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[1].text = {}
	gr_edit .added_text[1].text.Arrpush full sample (100h before, 51h after meeting)
	// editor text[1] edits

	gr_edit .AddTextBox added_text editor 94 72
	gr_edit .added_text_new = 2
	gr_edit .added_text_rec = 2
	gr_edit .added_text[2].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[2].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[2].text = {}
	gr_edit .added_text[2].text.Arrpush +/- 48h
	// editor text[2] edits

	gr_edit .AddTextBox added_text editor 94 117
	gr_edit .added_text_new = 3
	gr_edit .added_text_rec = 3
	gr_edit .added_text[3].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[3].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[3].text = {}
	gr_edit .added_text[3].text.Arrpush +/- 24h
	// editor text[3] edits

	gr_edit .AddTextBox added_text editor 81 -2
	gr_edit .added_text_new = 4
	gr_edit .added_text_rec = 4
	gr_edit .added_text[4].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[4].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[4]._set_orientation vertical
	gr_edit .added_text[4].text = {}
	gr_edit .added_text[4].text.Arrpush Cooperation with USA
	// editor text[4] edits

	gr_edit .AddTextBox added_text editor 59 -2
	gr_edit .added_text_new = 5
	gr_edit .added_text_rec = 5
	gr_edit .added_text[5].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[5].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[5]._set_orientation vertical
	gr_edit .added_text[5].text = {}
	gr_edit .added_text[5].text.Arrpush Cooperation with Russia
	// editor text[5] edits	
	
	gr_edit .AddTextBox added_text editor 35 -2
	gr_edit .added_text_new = 6
	gr_edit .added_text_rec = 6
	gr_edit .added_text[6].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[6].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[6]._set_orientation vertical
	gr_edit .added_text[6].text = {}
	gr_edit .added_text[6].text.Arrpush Cooperation with EU-countries
	// editor text[6] edits		
	
	gr_edit .AddTextBox added_text editor 12 -2
	gr_edit .added_text_new = 7
	gr_edit .added_text_rec = 7
	gr_edit .added_text[7].style.editstyle  angle(default) size(half_tiny) color(black) horizontal(left) vertical(middle) margin(zero) linegap(zero) drawbox(no) boxmargin(zero) fillcolor(bluishgray) linestyle( width(vthin) color(black) pattern(solid) align(inside)) box_alignment(east) editcopy
	gr_edit .added_text[7].style.editstyle size(vsmall) editcopy
	gr_edit .added_text[7]._set_orientation vertical
	gr_edit .added_text[7].text = {}
	gr_edit .added_text[7].text.Arrpush EU membership
	
	graph export "figures\fig_A7.emf", replace
	graph export "figures\fig_A7.pdf", replace	
	

*******************************************************************************************************************************************************************
*
*				Figure A8 - ordinal Logit as crosscheck for Figure 2
*
*******************************************************************************************************************************************************************
	
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
	ologit v_1842 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  , or
	estimates store ologit_v_1842
	margins, at(zweitstimme = (1(1)7) after_meeting =(0(1)1))
	mplotoffset,  x(_predict) by(zweitstimme) byopts(col(7) title("Germany can rely on the USA when it matters") im(0.5)) ///
	xsize(8) ysize(4) ///
	xlabel( 1 "- -" 2 "-" 3 "-/+" 4 "+" 5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") ///
	legend(pos(6) col(1) ) ///
	plot1opts(lpattern(solid)  color(538t)  ) ///
	plot2opts(lpattern(solid)  color(538o)  ) ///
	ci1opts(lpattern(solid)  color(538t)  ) ///
	ci2opts(lpattern(solid)  color(538o)  ) ///
	recast(scatter) ///
	yscale(r(0 1)) ylabel(0(.2)1, grid) ///
	offset (0.25)
	gr_edit legend.draw_view.setstyle, style(no)
	graph save "dump\fig_predprob_v_1842.gph", replace
	
use  "dump\PPD_February_2025_Trump.dta", replace	
	ologit v_1457 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] , or
	estimates store ologit_v_1457
	margins, at(zweitstimme = (1(1)7) after_meeting =(0(1)1))
	mplotoffset,  x(_predict) by(zweitstimme) byopts(col(7) title("Germany should break away from traditional allies and look for new ones") im(0.5)) ///
	xsize(8) ysize(4) ///
	xlabel( 1 "- -" 2 "-" 3 "-/+" 4 "+" 5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") ///
	legend(pos(6) col(2) ) ///
	plot1opts(lpattern(solid)  color(538t)  ) ///
	plot2opts(lpattern(solid)  color(538o)  ) ///
	ci1opts(lpattern(solid)  color(538t)  ) ///
	ci2opts(lpattern(solid)  color(538o)  ) ///
	recast(scatter) ///
	yscale(r(0 1)) ylabel(0(.2)1, grid) ///
	offset (0.25)
	gr_edit legend.draw_view.setstyle, style(no)
	graph save "dump\fig_predprob_v_1457.gph", replace
	
	
use  "dump\PPD_February_2025_Trump.dta", replace	
	ologit v_1461 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] , or
	estimates store ologit_v_1461
	margins, at(zweitstimme = (1(1)7) after_meeting =(0(1)1))
	mplotoffset,  x(_predict) by(zweitstimme) byopts(col(7) title("Germany should advocate a common European army") im(0.5)) ///
	xsize(8) ysize(4) ///
	xlabel( 1 "- -" 2 "-" 3 "-/+" 4 "+" 5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") ///
	legend(pos(6) col(2) ) ///
	plot1opts(lpattern(solid)  color(538t)  ) ///
	plot2opts(lpattern(solid)  color(538o)  ) ///
	ci1opts(lpattern(solid)  color(538t)  ) ///
	ci2opts(lpattern(solid)  color(538o)  ) ///
	recast(scatter) ///
	yscale(r(0 1)) ylabel(0(.2)1, grid) ///
	offset (0.25)	
	gr_edit legend.draw_view.setstyle, style(no)
	graph save "dump\fig_predprob_v_1461.gph", replace
	
use  "dump\PPD_February_2025_Trump.dta", replace	
	ologit v_1492 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] , or
	estimates store ologit_v_1492
	margins, at(zweitstimme = (1(1)7) after_meeting =(0(1)1))
	mplotoffset,  x(_predict) by(zweitstimme) byopts(col(7) title("Germany should declare its willingness to provide soldiers for a peacekeeping force in Ukraine") im(0.5)) ///
	xsize(8) ysize(4) ///
	xlabel( 1 "- -" 2 "-" 3 "-/+" 4 "+" 5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") ///
	legend(pos(6) col(2) ) ///
	plot1opts(lpattern(solid)  color(538t)  ) ///
	plot2opts(lpattern(solid)  color(538o)  ) ///
	ci1opts(lpattern(solid)  color(538t)  ) ///
	ci2opts(lpattern(solid)  color(538o)  ) ///
	recast(scatter) ///
	yscale(r(0 1)) ylabel(0(.2)1, grid) ///
	offset (0.25)	
	gr_edit legend.draw_view.setstyle, style(no)
	graph save "dump\fig_predprob_v_1492.gph", replace

use  "dump\PPD_February_2025_Trump.dta", replace	
	ologit v_1492 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] , or
	margins, at(zweitstimme = (1(1)7) after_meeting =(0(1)1))
	mplotoffset,  x(_predict) by(zweitstimme) byopts(col(7) title("Germany should declare its willingness to provide soldiers for a peacekeeping force in Ukraine") im(0.5)) ///
	xsize(8) ysize(4) ///
	xlabel( 1 "- -" 2 "-" 3 "-/+" 4 "+" 5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") ///
	legend(pos(11) col(2) ) ///
	plot1opts(lpattern(solid)  color(538t)  ) ///
	plot2opts(lpattern(solid)  color(538o)  ) ///
	ci1opts(lpattern(solid)  color(538t)  ) ///
	ci2opts(lpattern(solid)  color(538o)  ) ///
	recast(scatter) ///
	yscale(r(0 1)) ylabel(0(.2)1, grid) ///
	offset (0.25)	
	gr_edit .plotregion1.draw_view.setstyle, style(no)
	// plotregion1 edits

	gr_edit .title.draw_view.setstyle, style(no)
	// title edits

	gr_edit .legend.DragBy 18 0
	// legend reposition
	graph save "dump\fig_predprob_legend.gph", replace
	
grc1leg 	 		"dump\fig_predprob_v_1842.gph" ///
					"dump\fig_predprob_v_1457.gph" ///
					"dump\fig_predprob_v_1461.gph" ///
					"dump\fig_predprob_v_1492.gph" ///
					"dump\fig_predprob_legend.gph", ///
					ycommon xcommon col(1)  scale(0.7) 	  imargin(small)
	graph display , ysize(17) xsize(14) 											
	graph export "figures\fig_A8.emf", replace
	graph export "figures\fig_A8.pdf", replace	


*******************************************************************************************************************************************************************
*
*				Figure A9 - ordinal Logit as crosscheck for Figure 3
*
*******************************************************************************************************************************************************************	



use  "dump\PPD_February_2025_Trump.dta", replace	
	ologit v_1450 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2]  , or
	estimates store ologit_v_1450
	margins, at(zweitstimme = (1(1)7) after_meeting =(0(1)1))
	mplotoffset,  x(_predict) by(zweitstimme) byopts(col(7) title("USA") im(0.5)) ///
	xsize(8) ysize(4) ///
	xlabel( 1 "- -" 2 "-" 3 "-/+" 4 "+" 5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") ///
	legend(pos(6) col(2) ) ///
	plot1opts(lpattern(solid)  color(538t)  ) ///
	plot2opts(lpattern(solid)  color(538o)  ) ///
	ci1opts(lpattern(solid)  color(538t)  ) ///
	ci2opts(lpattern(solid)  color(538o)  ) ///
	recast(scatter) ///
	yscale(r(0 1)) ylabel(0(.2)1, grid) ///
	offset (0.25)
	gr_edit legend.draw_view.setstyle, style(no)
	graph save "dump\fig_predprob_v_1450.gph", replace

	
use  "dump\PPD_February_2025_Trump.dta", replace	
	ologit v_1451 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] , or
	estimates store ologit_v_1451
	margins, at(zweitstimme = (1(1)7) after_meeting =(0(1)1))
	mplotoffset,  x(_predict) by(zweitstimme) byopts(col(7) title("Russia") im(0.5)) ///
	xsize(8) ysize(4) ///
	xlabel( 1 "- -" 2 "-" 3 "-/+" 4 "+" 5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") ///
	legend(pos(6) col(2) ) ///
	plot1opts(lpattern(solid)  color(538t)  ) ///
	plot2opts(lpattern(solid)  color(538o)  ) ///
	ci1opts(lpattern(solid)  color(538t)  ) ///
	ci2opts(lpattern(solid)  color(538o)  ) ///
	recast(scatter) ///
	yscale(r(0 1)) ylabel(0(.2)1, grid) ///
	offset (0.25)
	gr_edit legend.draw_view.setstyle, style(no)
	graph save "dump\fig_predprob_v_1451.gph", replace
	
	
use  "dump\PPD_February_2025_Trump.dta", replace	
	ologit v_1452 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] , or
	estimates store ologit_v_1452
	margins, at(zweitstimme = (1(1)7) after_meeting =(0(1)1))
	mplotoffset,  x(_predict) by(zweitstimme) byopts(col(7) title("EU countries") im(0.5)) ///
	xsize(8) ysize(4) ///
	xlabel( 1 "- -" 2 "-" 3 "-/+" 4 "+" 5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") ///
	legend(pos(6) col(2) ) ///
	plot1opts(lpattern(solid)  color(538t)  ) ///
	plot2opts(lpattern(solid)  color(538o)  ) ///
	ci1opts(lpattern(solid)  color(538t)  ) ///
	ci2opts(lpattern(solid)  color(538o)  ) ///
	recast(scatter) ///
	yscale(r(0 1)) ylabel(0(.2)1, grid) ///
	offset (0.25)	
	gr_edit legend.draw_view.setstyle, style(no)
	graph save "dump\fig_predprob_v_1452.gph", replace	
	
use  "dump\PPD_February_2025_Trump.dta", replace	
	ologit v_1830 i.after##i.zweitstimme i.male_2 i.age_group_r i.edu_3 ostdeutschland [aweight = gewicht2] , or
	estimates store ologit_v_1830
	margins, at(zweitstimme = (1(1)7) after_meeting =(0(1)1))
	mplotoffset,  x(_predict) by(zweitstimme) byopts(col(7) title("EU membership brings more advantages than disadvantages for Germany") im(0.5)) ///
	xsize(8) ysize(4) ///
	xlabel( 1 "- -" 2 "-" 3 "-/+" 4 "+" 5 "++", labsize(mlarge)) ///
	xtitle("") ytitle("") ///
	legend(pos(6) col(2) ) ///
	plot1opts(lpattern(solid)  color(538t)  ) ///
	plot2opts(lpattern(solid)  color(538o)  ) ///
	ci1opts(lpattern(solid)  color(538t)  ) ///
	ci2opts(lpattern(solid)  color(538o)  ) ///
	recast(scatter) ///
	yscale(r(0 1)) ylabel(0(.2)1, grid) ///
	offset (0.25)	
	graph save "dump\fig_predprob_v_1830.gph", replace	
	
grc1leg 	 		"dump\fig_predprob_v_1450.gph" ///
					"dump\fig_predprob_v_1451.gph" ///
					"dump\fig_predprob_v_1452.gph", ///
					ycommon xcommon col(1)  scale(0.7) 	  imargin(small) title("How should Germany cooperate with the following countries or groups of countries?") fysize(85)
	graph save "dump\fig_A9a.gph", replace
	
grc1leg 	"dump\fig_A9a.gph" "dump\fig_predprob_v_1830.gph" , col(1) imargin(0 0 0 0)
	
	
	graph display , ysize(17) xsize(14) 	
	
	gr_edit .plotregion1.graph1.plotregion1.graph1.gmetric_mult = 1.25
// graph1 edits

gr_edit  .plotregion1.graph1.plotregion1.graph2.gmetric_mult = 1.25
// graph2 edits

gr_edit  .plotregion1.graph1.plotregion1.graph3.gmetric_mult = 1.25
// graph3 edits

gr_edit  .plotregion1.graph2.gmetric_mult = .65
// graph2 edits

	graph export "figures\fig_A9.emf", replace
	graph export "figures\fig_A9.pdf", replace		


	
	
	
	
	
	
	
	
*******************************************************************************************************************************************************************
*
*				Table A2 - Missing values 
*
*******************************************************************************************************************************************************************		

	log using tables\table_A2.txt, replace text
	use "data\PPD_September_2023.dta", replace 
		
	misstable summ v_1841 v_1842 v_1832 v_1836 v_1838 v_1839 
	misstable summ v_1841 v_1842 v_1832 v_1836 v_1838 v_1839  if gewicht2 != .
	
	
	
	
	use  "dump\PPD_February_2025_Trump.dta", replace	
		
	misstable summ v_1841 v_1842 v_1832 v_1836 v_1838 v_1839 v_1830 v_1461 v_1457 v_1492 v_1450 v_1451 v_1452 age_group_r male_2 ostdeutschland zweitstimme 
	misstable summ v_1841 v_1842 v_1832 v_1836 v_1838 v_1839 v_1830 v_1461 v_1457 v_1492 v_1450 v_1451 v_1452 age_group_r male_2 ostdeutschland zweitstimme if gewicht2 != .	
	
	log close

	
*******************************************************************************************************************************************************************
*
*				Table A3 - balancing comparison: 1 day before/after vs. 2 days before/after vs. full sample 4 days before/2 days after	
*
*******************************************************************************************************************************************************************		
	
	* age_group
	asdoc tab age_group_r after_meeting [aweight = gewicht2] if one_day == 1, col replace save(tables/Table_A3.rtf)  title(24 hours before and after meeting) 
	asdoc tab age_group_r after_meeting [aweight = gewicht2] if two_days == 1, col  title(48 hours before and after meeting) 
	asdoc tab age_group_r after_meeting [aweight = gewicht2] , col  title(full sample 99,5 hours before and 51 hours after meeting) 
	
	*gender
	asdoc tab male_2 after_meeting [aweight = gewicht2] if one_day == 1, col  title(24 hours before and after meeting) 
	asdoc tab male_2 after_meeting [aweight = gewicht2] if two_days == 1, col  title(48 hours before and after meeting)
	asdoc tab male_2 after_meeting [aweight = gewicht2] , col  title(full sample 99,5 hours before and 51 hours after meeting)
	
	*education
	asdoc tab edu_3 after_meeting [aweight = gewicht2] if one_day == 1, col  title(24 hours before and after meeting)
	asdoc tab edu_3 after_meeting [aweight = gewicht2] if two_days == 1, col  title(48 hours before and after meeting)
	asdoc tab edu_3 after_meeting [aweight = gewicht2] , col  title(full sample 99,5 hours before and 51 hours after meeting)
	
	*ostdeutschland
	asdoc tab ostdeutschland after_meeting [aweight = gewicht2] if one_day == 1, col  title(24 hours before and after meeting)
	asdoc tab ostdeutschland after_meeting [aweight = gewicht2] if two_days == 1, col  title(48 hours before and after meeting)
	asdoc tab ostdeutschland after_meeting [aweight = gewicht2] , col  title(full sample 99,5 hours before and 51 hours after meeting)

	bysort after_meeting: asdoc tabstat age_group_r male_2 edu_3 ostdeutschland if one_day == 1, stat(mean sd min max median p5 p95) title(24 hours before and after meeting)
	bysort after_meeting: asdoc tabstat age_group_r male_2 edu_3 ostdeutschland if two_days == 1, stat(mean sd min max median p5 p95) title(48 hours before and after meeting)
	bysort after_meeting: asdoc tabstat age_group_r male_2 edu_3 ostdeutschland, stat(mean sd min max median p5 p95) title(full sample 99,5 hours before and 51 hours after meeting)	
	
*******************************************************************************************************************************************************************
*
*				Table A4 - OLS b-coefficients (models from main paper)
*
*******************************************************************************************************************************************************************	
	
	esttab ols_v_1842 ols_v_1457 ols_v_1461 ols_v_1492 ols_v_1450 ols_v_1451 ols_v_1452 ols_v_1830  using "tables\table_A4.rtf", label replace ar2 nonum

	
*******************************************************************************************************************************************************************
*
*				Table A5 - OLS b-coefficients (additional models Appendix)
*
*******************************************************************************************************************************************************************	
	
	esttab ols_v_1841 ols_v_1836 ols_v_1839 ols_v_1832 ols_v_1838  using "tables\table_A5.rtf", label replace ar2 nonum	
	
	
*******************************************************************************************************************************************************************
*
*				Table A6 - Ordinal Logit Odds Ratios (models from main paper)
*
*******************************************************************************************************************************************************************	
	
	esttab ologit_v_1842 ologit_v_1457 ologit_v_1461 ologit_v_1492 ologit_v_1450 ologit_v_1451 ologit_v_1452 ologit_v_1830  using "tables\table_A6.rtf" , label replace pr2 bic aic scalars(ll) nonum eform
	
	
*******************************************************************************************************************************************************************
*
*				Table A1 - Descriptive statistics unweighted and weighted
*
*******************************************************************************************************************************************************************	
	
	clear all
	use "data\PPD_September_2023.dta", replace

		
		eststo: estpost summarize v_1841 v_1842 v_1832 v_1836 v_1838 v_1839  if gewicht2 !=.
		eststo: estpost summarize v_1841 v_1842 v_1832 v_1836 v_1838 v_1839  [aweight = gewicht2]
		
	esttab using "tables\Table_A1a.rtf", cells("count mean(fmt(2)) sd(fmt(2)) ") noobs label replace 

	asdoc 	tab sonntagsfrage if gewicht2 !=., replace save(tables\Table_A1b.rtf) title(unweighted) 
	asdoc 	tab sonntagsfrage  [aweight = gewicht2], append title(weighted)
	
	clear all
	use  "dump\PPD_February_2025_Trump.dta", replace	
		
		eststo: estpost summarize after_meeting v_1841 v_1842 v_1832 v_1836 v_1838 v_1839 v_1830 v_1461 v_1457 v_1492 v_1450 v_1451 v_1452  age_group_r male_2 edu_3 ostdeutschland   if gewicht2 !=.
		eststo: estpost summarize after_meeting v_1841 v_1842 v_1832 v_1836 v_1838 v_1839 v_1830 v_1461 v_1457 v_1492 v_1450 v_1451 v_1452  age_group_r male_2 edu_3 ostdeutschland   [aweight = gewicht2]
		
	esttab using "tables\Table_A1c.rtf", cells("count mean(fmt(2)) sd(fmt(2)) ") noobs label replace 	
	
	asdoc 	tab zweitstimme if gewicht2 !=., replace save(tables\Table_A1d.rtf) title(unweighted) 
	asdoc 	tab zweitstimme  [aweight = gewicht2], append title(weighted) 	
	asdoc 	tab after_meeting if gewicht2 !=., append title(unweighted) 
	asdoc 	tab after_meeting  [aweight = gewicht2], append title(weighted) 
	asdoc 	tab age_group_r if gewicht2 !=., append title(unweighted) 
	asdoc 	tab age_group_r  [aweight = gewicht2], append title(weighted) 	
	asdoc 	tab male_2 if gewicht2 !=., append title(unweighted) 
	asdoc 	tab male_2  [aweight = gewicht2], append title(weighted)	
	asdoc 	tab edu_3 if gewicht2 !=., append title(unweighted) 
	asdoc 	tab edu_3  [aweight = gewicht2], append title(weighted)
	asdoc 	tab ostdeutschland if gewicht2 !=., append title(unweighted) 
	asdoc 	tab ostdeutschland  [aweight = gewicht2], append title(weighted) 

	